Css 更具体的选择器解析是否更快?
我有一个网站:Css 更具体的选择器解析是否更快?,css,css-selectors,Css,Css Selectors,我有一个网站: 车身#触点h1{ 颜色:红色; } #联系方式h1{ 颜色:红色; } body.contact h1{ 颜色:红色; } .联系h1{ 颜色:红色; } 联系我们! 选择器越短越好。如果可能,请确保键选择器是一个类或ID,以保持其快速和特定 欲了解更多信息,请阅读下面的文章。强烈推荐 在阅读我的答案之前,我想告诉您,通过CSS代码优化速度是一个很大的问题空间。您可以通过使用缩小器和最小化CSS的大小来优化速度。这将简化服务器端文件的加载并将其发送到internet(所有请求
车身#触点h1{
颜色:红色;
}
#联系方式h1{
颜色:红色;
}
body.contact h1{
颜色:红色;
}
.联系h1{
颜色:红色;
}
联系我们!
选择器越短越好。如果可能,请确保键选择器是一个类或ID,以保持其快速和特定
欲了解更多信息,请阅读下面的文章。强烈推荐
在阅读我的答案之前,我想告诉您,通过CSS代码优化速度是一个很大的问题空间。您可以通过使用缩小器和最小化CSS的大小来优化速度。这将简化服务器端文件的加载并将其发送到internet(所有请求它的浏览器),而在浏览器端,它将通过减少必须下载的文件来提高性能。除此之外,CSS代码性能严格来说是浏览器级别的问题,只有在观察到客户端性能问题时才应该处理它 另外,在对CSS进行任何优化之前,请先删除
h1
的规则进行测试,看看这是否会对性能产生影响
在这个答案中,我假设当浏览器运行CSS时,您会遇到客户端性能问题。#
的id
选择器告诉浏览器搜索给定的id
,并且,由于对于有效的HTML代码,id
是唯一的,因此大多数浏览器将在其第一次出现时停止搜索。但是,您为body
定义了id
,这并没有太多地提高性能,因为body
是根html
标记的直接子级。如果您有一个可以找到所有h1
标记的分区,那么如果您给它一个id
并在选择器中使用它,那就太好了<代码>类选择器不会在第一次匹配时停止,因为类不被认为是唯一的。假设您有一个div
,其中所有h1
标记都在其中:
<div>
<!-- There are some h1 tags in here -->
</div>
并在选择器中使用它:
#h1-container h1 {
/*Your rules*/
}
那应该很快。如果您仍然遇到性能问题,那么您需要向我们提供有关您的问题的更多信息,可能需要使用一个可复制的示例,例如JSFIDLE。我不认为特定性可以提高解析速度。id稍微提高的是渲染速度。还有其他影响渲染速度的因素,例如CSS文件大小以及需要多次重新定义同一类的许多规则,例如 改善渲染效果的两个建议:
都有通用的规则,例如特定于模块的规则,则使用模块父类来定义这些规则将避免浏览器对整个HTML进行爬网,并且当您对不同的设计项使用相同的标记时,您不必在以后重写规则background-position-y:calc(-8*$module)
之类的工具轻松找到图标。此方法将为您节省大量css规则来定义位置和HTML元素,因为您不必在两个轴(x,y)上聚集bg图像和高度
内联属性。如果这些图像是.jpg,则使用大约60的压缩并保存为渐进式jpg
h1{
利润率:16px 8px;
字体大小:24px;
颜色:#999666;
}
p{
保证金:8px 8px 16px;
}
图姆内尔先生{
浮动:左;
边际:0.8px;
}
.把内容放在一边{
显示:表格单元格;
}
.内容{
宽度:75%;
}
.内容ul{
利润率:8px;
填充:8px 16px;
}
李先生{
利润率:8px0;
}
.标签{
保证金:0;
填充:0;
背景:ddd;
}
.标签{
列表样式:无;
填充:8px;
}
.标签+.标签{
边框顶部:实心2px#fff;
}
我的头衔
知识是一种美德,是一种美德,是一种美德,是一种美德
但是,在最低限度上,我们需要一个实验室来进行日常工作
两人或两人在一个无教区的房间里互相指责
- 圣奥卡塔例外情况
- 过失中的不轻率
- 这是我的工作
表1
#h1-container h1 {
/*Your rules*/
}