美文网首页
css3权重计算规则, css优化

css3权重计算规则, css优化

作者: 肥羊猪 | 来源:发表于2021-03-11 13:16 被阅读0次

内联样式,如: style="...",权值为1000。
ID选择器,如:#content,权值为0100。
类,伪类、属性选择器,如.content,权值为0010。
类型选择器、伪元素选择器,如div p,权值为0001。
通配符、子选择器、相邻选择器等。如* > +,权值为0000。
继承的样式没有权值

ID  #id
class   .class
标签  p
属性  [type='text']
伪类  :hover
伪元素 ::first-line
相邻选择器、子代选择器 > +

行间>内部>外部、ID>class>元素

!important 的作用是提升优先级,换句话说。加了这句的样式的优先级是最高的(比内联样式的优先级还高)。

优化css

1.内联CSS能够使浏览器开始页面渲染的时间提前 首次有效绘制
只将渲染首屏内容所需的关键CSS内联到HTML中

2. 异步加载外部CSS
CSS会阻塞渲染,在CSS文件请求、下载、解析完成之前,浏览器将不会渲染任何已处理的内容。
<link rel="preload" href="mystyles.css" as="style" onload="this.rel='stylesheet'">
// 注意,as是必须的。忽略as属性,或者错误的as属性会使preload等同于XHR请求,浏览器不知道加载的是什么内容,因此此类资源加载优先级会非常低。
通过更改某些属性,使得浏览器异步加载CSS文件但不解析,直到加载完成并将修改还原,然后开始解析。
使用preload,比使用不匹配的media方法能够更早地开始加载CSS

3. 文件压缩
构建工具如webpack、gulp/grunt、rollup等也都支持CSS压缩功能。
压缩后的文件能够明显减小,可以大大降低了浏览器的加载时间。
CSS文件压缩通常只会去除无用的空格

4. 去除无用CSS
一种是不同元素或者其他情况下的重复代码,尽可能地提取公共类,减少重复
一种是整个页面内没有生效的CSS代码。
Uncss可以用来移除样式表中的无用CSS,并且支持多文件和JavaScript注入的CSS。

优化css建议型的4个技巧

一. 有选择地使用选择器
CSS选择器的匹配是从右向左进行的
1.保持简单,不要使用嵌套过多过于复杂的选择器。
2.通配符和属性选择器效率最低,需要匹配的元素最多,尽量避免使用。
3.不要使用类选择器和ID选择器修饰元素标签,如h3#markdown-content,这样多此一举,还会降低效率。
4.不要为了追求速度而放弃可读性与可维护性。

二. 减少使用昂贵的属性
所有需要浏览器进行操作或计算的属性相对而言都需要花费更大的代价。
如box-shadow/border-radius/filter/透明度/:nth-child等。


三. 优化重排(回流)与重绘
1.减少重排
改变font-size和font-family
改变元素的内外边距
通过JS改变CSS类
通过JS获取DOM元素的位置相关属性(如width/height/left等)
CSS伪类激活
滚动滚动条或者改变窗口大小
使用Flex时,比使用inline-block和float时重排更快,所以在布局时可以优先考虑Flex。

2.避免不必要的重绘
当元素的外观(如color,background,visibility等属性)发生改变时,会触发重绘。
如页面滚动时触发的hover事件,可以在滚动的时候禁用hover事件,这样页面在滚动时会更加流畅。

3.不要使用@import
1.使用@import引入CSS会影响浏览器的并行下载。
2.多个@import会导致下载顺序紊乱。
排列在@import后面的js文件先于@import下载,并且打乱甚至破坏@import自身的并行下载。
使用link标签

相关文章

  • css3权重计算规则, css优化

    内联样式,如: style="...",权值为1000。ID选择器,如:#content,权值为0100。类,伪类...

  • CSS常见问题

    CSS优先级算法如何计算? 样式优先级规则: 优先级顺序为:!important>style>权重值权重规则:第一...

  • CSS权重计算规则

    本文将介绍什么权重计算规则,摘录来自博客园。原文博主:全全的前端浆糊原文链接:https://www.cnblog...

  • 07day

    CSS3动画 CSS3 @keyframes 规则如需在 CSS3 中创建动画,您需要学习 @keyframes ...

  • CSS3 字体

    1、CSS3 @font-face 规则 以前 CSS3 的版本,网页设计师不得不使用用户计算机上已经安装的字体。...

  • CSS权重

    CSS权重:1、权重决定了你css规则怎样被浏览器解析直到生效。“css权重关系到你的css规则是怎样显示的”。2...

  • 动画(重点)

    CSS3 @keyframes 规则要创建CSS3动画,你将不得不了解@keyframes规则。@keyframe...

  • 2018-08-15

    CSS动画 CSS3 @keyframes 规则如需在 CSS3 中创建动画,您需要学习 @keyframes 规...

  • 学习钢要:样式生效规则

    学习条件 了解css/css3常见选择器 学习目标 了解选择器权重的计算 了解浏览器默认样式 了解样式的继承 了解...

  • CSS权重

    原文 博客原文 大纲 1、CSS层叠2、CSS权重3、权重等级4、权重的规则5、!important 1、CSS层...

网友评论

      本文标题:css3权重计算规则, css优化

      本文链接:https://www.haomeiwen.com/subject/rbiufltx.html