`
leiyonglin
  • 浏览: 52226 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

css选择符的性能

阅读更多

大部分情况下,大家都关注js性能,那么css性能又如何呢?

针对css的性能,有一些最佳实践:

1、把样式表放在文档head标签中

2、不要在ie中使用css表达式

3、避免使用过多的行内样式

 

浏览器尝试把css选择符和文档中的元素匹配起来,css选择符的编写方式决定了浏览器必须执行的匹配次数,某些选择符会导致浏览器尝试更多匹配,因此开销比简单选择符更高。

下面介绍css选择符大致按照最简单(最小开销)到最复杂(最大开销)顺序列出:

 

1、ID选择符: #top{}

2、类选择符:.top{}

3、类型选择符:a{}

4、相邻兄弟选择符:h1 + #top{}

5、子选择符 #top > a

6、后代选择符: #top a{}

7、通配选择符 :*{}

8、属性选择符:[href="#index"] {}

9、伪类和伪元素:a:hover{}

 

看如下规则:

#top a{}

多数人可能猜想浏览器是从左到右匹配规则,因此推测这条规则开销不高,因为页面中有唯一的#top,然后去匹配几个a,所以这样的选择符应该是相当高效的。事实上,CSS选择符是从右到左进行匹配 ,浏览器从右开始,遍历文档中所有的a,然后匹配每个链接的父节点和文档树去查找 a 的祖先元素是否id 为top。

那么如何编写高效的css选择符,下面是一些实践指南:

1、避免使用通配规则

2、不要限定id选择符

在页面中一个ID只能对应一个元素,所以类似 div#top是没有必要的,应简化为#top

3、不要限定类选择符

例如把 li.chapter 改成 .li-chapter 会更好

4、不要试图编写 #top ul li a{} 这样的长选择符,最好创建一个 .list{} 这样的类选择符并把它添加到适当的元素上

5、避免使用后台选择符

6、避免使用子选择符

7、质疑子选择符的用途

检查所有子选择符,然后尽可能用具体的类取代他们

8、依靠继承

 

分享到:
评论

相关推荐

    深入理解CSS选择符的匹配方式.pdf

    在网页前端开发中,CSS选择符的使用技巧对页面性能至关重要。本文着重探讨CSS选择符的匹配方式,旨在帮助开发者优化样式规则,提升网页加载速度。 1. 选择符类型及其性能影响: - ID选择符:如`#top{margin-top:50...

    CSS选择符-.pdf

    下面将详细解释各种CSS选择符及其用途。 1. **类型选择符**: 类型选择符基于HTML元素的标签名来应用样式。例如,`body`选择符将样式应用于整个文档的主体,而`p`选择符则针对所有段落。在给定的例子中,`body`内的...

    深入理解CSS选择符的匹配方式.docx

    (8)对于大型项目,考虑使用 CSS 模块化工具,如 CSS Modules 或 CSS-in-JS 解决方案,它们可以自动管理选择符的特异性,防止全局样式冲突,同时提高性能。 总的来说,深入理解 CSS 选择符的匹配方式是提升网页...

    CSS选择符[归类].pdf

    本篇将详细解释不同类型的CSS选择符及其用法。 一、类型选择符 类型选择符是基于HTML元素标签名来选择元素的。例如,`body { font-size:12px; }` 将设置整个文档的字体大小为12像素,而`p { color:blue; }` 则会使...

    css选择符类型详细介绍

    不过,由于它作用于所有元素,使用通配选择符可能会影响页面性能,因此在实际开发中应慎用。 选择符分组则是将多个选择符放在同一对大括号中,这意味着所有这些选择符共享相同的样式规则。这种方法在需要对多种元素...

    详解如何编写高效的 CSS 选择符

    在互联网时代,CSS是前端开发中不可或缺的技术之一,它负责...高效编写CSS选择符是前端性能优化的重要环节,也是专业开发者应具备的技能之一。在开发过程中,应该不断地学习和实践,以达到编写高效CSS选择符的目的。

    CSS选择符说明

    ### CSS选择符说明 #### 一、类型选择符 类型选择符是最基本的选择符类型,它直接使用HTML标签名称作为选择标准。例如: ```css body { font-size: 12px; } ``` 上述代码表示将整个`<body>`标签内的文字大小...

    曹鹏CSS视频教程-14.群选择符 2.rar

    4. **优化CSS代码**:使用群选择符可以显著减少CSS代码量,提高可读性和性能。课程可能会讨论如何有效地使用群选择符来实现这一点。 5. **实践应用**:在实际的网页设计项目中,如何巧妙地运用群选择符来设计响应式...

    曹鹏CSS视频教程-11.id选择符 1.rar

    7. **最佳实践**:了解如何有效且合理地使用id选择符,避免滥用,以保持代码的可维护性和性能。 这个压缩包提供的资源将帮助学习者深入理解id选择符,掌握其在实际项目中的应用,从而提升他们的网页设计能力。

    几个特殊的CSS选择符使用介绍

    理解并熟练运用这些选择符,能使CSS代码更简洁,维护性更强,同时也能提升网页性能,因为浏览器能够更有效地解析和应用样式。 例如,你可以使用子代选择符来为一个列表的直接子项设置样式,或者利用紧邻同胞选择符...

    CSS重构:样式表性能调优

    避免使用过于复杂的选择器,如后代选择器(`div .class`)和通配符选择器(`*`),优先使用ID选择器和类选择器。 4. **利用CSS预处理器**:使用Sass、Less等预处理器可以编写更模块化、可维护的代码,它们还支持...

    css代码优化的12个技巧

    根据MDN的分类,CSS选择符可以划分为四类,按照性能从高到低排序如下: 1. ID选择符 2. Class选择符 3. 标签选择符 4. 通用选择符 了解了性能的差异后,接下来可以通过以下12个技巧来优化CSS代码: 1. 避免过度...

    CSS入门基础经典教程

    **四、CSS选择符** CSS选择符是CSS用来定位和应用样式的HTML元素的标识符。基本的选择符包括元素选择符、类选择符、ID选择符等。 **1. 选择符语法** - **元素选择符**:如`p`选择所有段落元素。 - **类选择符**:...

    CSS中的选择符实际使用指南

    优化CSS选择符时,关注关键选择符的选择和特异性(Specificity)是提高性能的关键。特异性高的选择符更具体,能帮助浏览器快速定位到目标元素,避免在大量元素中搜索。 例如,`.content .note span` 这样的选择符,...

    极速加载:CSS性能优化全攻略

    CSS性能优化是一个多方面的过程,涉及到代码精简、选择器优化、动画性能、预处理器使用、缓存策略等多个方面。通过本文的介绍,你应该已经了解了如何优化CSS性能,提升页面加载速度。希望本文能够帮助你构建更快、更...

    SpinKit利用CSS实现的加载指示符动画集合

    CSS动画允许开发者无须JavaScript就能实现复杂的视觉变换,减少了对JavaScript的依赖,降低了性能开销。 2. **关键帧动画**:SpinKit中的每个指示符都是基于CSS关键帧动画(@keyframes)构建的。关键帧动画定义了...

    html和css 常用

    4. CSS选择符分为元素选择符、类选择符、ID选择符、伪类选择符和伪元素选择符。 5. CSS权重决定了当多个样式规则作用于同一元素时,哪个规则的优先级更高。 6. 字体属性涉及字体系列、大小、加粗、斜体等样式。 7. ...

    经典的CSS面试题(含答案)

    在CSS(层叠样式表)领域...以上仅是部分经典CSS面试题及解答,实际面试中可能涉及更深入的问题,如浏览器兼容性、性能优化、CSS预处理器的高级用法等。熟悉这些概念并能灵活运用是成为一名优秀前端开发者的必备技能。

    标准精悍CSS样式基础教程

    选择符是CSS的核心,用于指定要应用样式的元素。基本的选择符包括: - **元素选择符**:如`p`,选择所有`<p>`元素。 - **类选择符**:如`.myClass`,选择具有`class="myClass"`的元素。 - **ID选择符**:如`#...

Global site tag (gtag.js) - Google Analytics