新的HTML5元素降低了CSS特异性

纳瓦内斯

在将样式应用于边栏之前,我们将编写以下内容

<div id="sidebar">
<p>Some text...</p>
</div>

然后将颜色设置为Red的相应CSS就像

#sidebar p{
color: Red;
}

这里CSS特殊性是{0,1,0,1}

在HTML5中,我们有aside元素可以用作

<aside>
<p>Some text..</p>
</aside>

而将颜色设置为红色的CSS将是

aside p{
color:Red;
}

通过使用HTML5元素,CSS特异性为{0,0,0,2}

使用HTML5元素可以改善语义但是HTML5元素降低了CSS特异性如果目标浏览器支持所有HTML5元素,那么在这两种方法中哪个合适?

用户名

如果目标浏览器支持所有HTML5元素,那么在这两种方法中哪种合适?

使用HTML5元素的后一种方法将是最好的方法,但是关于规则的特殊性有两点要考虑:

  1. HTML5可以更好地减少仅基于元素名称的冲突,因为冲突更多,而且使用正确时也是如此。考虑:

    <div class="section">words...<div class="aside"><p>an aside</p>
    

    相对

    <section>words...<aside><p>an aside</p>
    

    后者更好,因为文档的语义在标签本身之内。

  2. 重用结构时,可以很好地添加idclass属性,以使结构更清晰。

    <section>words...<aside><p>an aside</p>
    <section>copyright...<aside><p>year of copyright</p>
    

    相对

    <section class="article">words...<aside><p>an aside</p>
    <section class="copyright">copyright...<aside><p>year of copyright</p>
    

    在此,后者上的类增加了上下文并减少了规则的歧义。

因此,最终您的问题的答案是在适当的情况下,通过类智能地使用HTML5元素。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HTML 元素的嵌套顺序如何影响 CSS 特异性?

来自分类Dev

特异性错误-CSS

来自分类Dev

具有多个类的元素的CSS特异性

来自分类Dev

html5sortable嵌套列表的特异性

来自分类Dev

HTML表中的CSS特异性问题

来自分类Dev

CSS特异性未遵循公式

来自分类Dev

对CSS特异性感到困惑

来自分类Dev

XUL中的CSS特异性

来自分类Dev

继承的CSS属性的特异性

来自分类Dev

CSS的继承与特异性之间的混淆

来自分类Dev

确定 CSS 特异性分数

来自分类Dev

关于 css 特异性的案例

来自分类Dev

CSS较低的特异性规则将覆盖较高的特异性

来自分类Dev

特异性计算中的伪类和伪元素之间的CSS差异?

来自分类Dev

嵌套CSS选择器而不增加特异性

来自分类Dev

嵌套CSS选择器的特异性

来自分类Dev

CSS通用选择器(*)的特异性

来自分类Dev

CSS通用同级选择器特异性

来自分类Dev

异常的CSS特异性行为

来自分类Dev

CSS特异性在Chrome中无法按预期工作

来自分类Dev

以下哪项在CSS中具有更高的特异性?

来自分类Dev

逗号分隔的组选择器的CSS特异性

来自分类Dev

异常的CSS特异性行为

来自分类Dev

!默认CSS字体家族特异性标签

来自分类Dev

使用javascript编写CSS特异性函数

来自分类Dev

如何使具有相同特异性的css选择器按HTML标记父级的顺序应用?

来自分类Dev

如何使具有相同特异性的css选择器按HTML标记父级的顺序应用?

来自分类Dev

物化框架隐藏<select> html5元素

来自分类Dev

使用交叉验证计算特异性