我正在寻找一种一致的跨浏览器解决方案来设计像DIV这样的自定义元素。 (即:重置为DIV样式作为起点)。 Chrome似乎将自定义元素视为span
。
以下是我使用自定义元素的内容:
Restrict: E
角度指令。 element.find('custom-element')
选择子元素。在构建需要计算子元素维度和/或位置的指令时,偶尔需要这样做。是否像doing this一样简单:
custom-element {
display: block;
}
或者在处理某些浏览器时我是否应该注意到这些问题?
答案 0 :(得分:2)
那些正在制定HTML标准的人强烈建议不要使用自定义标签。 IE8和更低版本的Internet Explorer默认情况下不支持未知标记,解决方案是添加脚本来创建元素。
<!--[if lt IE 9]>
<script>
document.createElement('custom-element');
document.createElement('header');
document.createElement('nav');
document.createElement('section');
document.createElement('article');
document.createElement('aside');
document.createElement('footer');
</script>
<![endif]-->
HTML5指定未知标记对于浏览器不是错误的,但它们用于代码检查器。浏览器应该允许使用CSS设置样式,就像浏览器熟悉的标签一样,默认情况下它们是内联元素而不是块。
这样做的目的并不是每个人都创建自己的标签集,这会引起混淆,但是允许在不破坏旧系统的情况下创建新标签。
在您实施的方式中违反HTML5标准将被视为完全违规,并且用于考虑在使用标准无法完成任务时如何改进标准。
为了实现您要完成的任务,使用标准,他们添加了数据属性和自定义属性http://html5doctor.com/html5-custom-data-attributes/ ...
<div customElement="true"></div>
document.querySelectorAll('[customElement]');
...这是人们希望你使用的html5标准。
注意customElement =&#34; true&#34;是一种常用的故意违规行为