我们应该使用ID选择器吗CSS使用ID选择器的探讨
在id选择器上不同于类选择器,这里使用#
可以用不同的标签重复类的值,但不允许ID!!!
ID选择器不能组合使用。
id属性通常与js一起使用。
CSS代码将内容复制到剪贴板。
{ #标签
背景颜色:红色;
}
反射
最近,我对CSS的样式做了一些性能测试,我的一些朋友问我:为什么不把ID作为页面内容的一部分呢
这个问题很难回答,有几个原因。
1中的元素。无法重复使用页面
2的特异性。螺旋下降
三.入侵检测系统是用来识别一些非常特殊的内容,但在抽象的费用
4。性能方面可以用其他方式解决。
5,我们将深入讨论这四点。
无法重用页面的元素
IDS对于程序员来说是个很好的例子。在一个页面中没有两个相同的ID。当然,浏览器不会报告错误。这意味着不能重用一个元素,它相当于一对一的关系。根据我的速度测试,如果一段CSS代码只在一个元素上工作,速度和不利,它也带来了CSS扩展的额外成本。
螺旋下降引起的特异性
CSS重载的两种方式:
1。级联:(任何下一级元素都可以重写第一级CSS规则)
2。特异性:使用加权选择器创建权重的想法。
为什么我说这是一个向下的螺旋,因为为了重载一个高优先级的规则,我必须为它设定一个更高的优先级。
CSS代码将内容复制到剪贴板。
。moduleofficelist.property-checkbox输入{显示:块;margin-bottom: 8px;_border:0px!重要的;}
moduleofficelist.property-checkbox,
moduleofficelist.new-icon,
moduleofficelist.open-icon {display:块}。
uid-officelistings.property-checkbox {显示:没有了!重要的;}
以上是2005中的一个实数代码。我必须用这个重要的规则重新排序选择器规则,这是非常糟糕的…我们要花更多的时间去追逐父亲的身份,我们会颠覆当前的特殊性,这是不友好的,不利于维护,最终你掉进了你挖的洞,只有重构才能摆脱这个噩梦。
另一方面uff1a
我听到一些关于使用ID选择器的声音。
更快地使用id选择器
是的,这是真的,我已经证明了,但是性能很小,但是当你使用嵌套的其他选择器时,性能下降。
CSS代码将内容复制到剪贴板。
#简介模块{…}
#简介模块里{…}
配置文件模块…{ }
第二个选择器没有第三个来得快,因为CSS是从右到左的,所以李将首先被扫描,所以ID将被忽略。
对CSS选择器的性能,看看Steve Souders如何选择工作转速。
IDS是单个案例的含义。
很多人会在页面中定义id,但是如果一个元素在所有页面中只出现一次,那么ID选择器就没有问题了。
特别说明
最后一点要解释的是,我不希望每个人都完全放弃ID的使用,而id可以加快Javascript的执行,并在文档中传递特定的含义。
我只是不建议在CSS中使用ID选择器,当然,决定权是你自己。