首页 > 其他分享 >[CSS] 级联与特异性

[CSS] 级联与特异性

时间:2024-02-07 22:34:40浏览次数:26  
标签:级联 优先级 important nav 样式表 选择器 CSS 特异性

样式表IMPORTANCE比较

优先级由上往下递减,如果重要性一致,则对比选择器的特异性 Specificity,也叫“具体程度”.

  1. 用户声明的!important
  2. 作者声明的!important
  3. 作者样式表
  4. 用户样式表
  5. 浏览器默认样式表

特异性 Specificity

当有多条冲突的CSS规则指向同一元素,则浏览器会计算特异性选择更具体的规则。

如果特异性相同,则按照代码顺序,靠后的规则覆盖前面的规则。

特异性的计算

计算下面三种情况的数量,并形成一个三元数。

  1. IDs
  2. 类,伪类,属性
  3. 标签,伪元素

案例

  1. .button:(0, 1, 0)
  2. nav#nav div.pull-right .button:(1, 2, 2) 一个ID,两个类,两个标签
  3. a:(0, 0, 1) 仅一个标签
  4. #nav a.button:hover:(1, 2, 1)

优先级比较

从左往右比较,如果不同则直接得出优先级,如果相同则比较下一位。

\((1,2,2) > (1,2,1) > (0,1,0) > (0,0,1)\)

如果均相同,则按照代码顺序决定。

级联与特异性总结

  • 使用!important标记的声明具有最高优先级;
  • 非必要不使用!important,因为它会导致代码可维护性很差;
  • 内联样式的优先级永远高于外部样式表;
  • 1个ID选择器的特异性高于包含1000个类的选择器;
  • 1个类选择器的特异性高于包含1000个元素的选择器;
  • 通配符 * 没有特异性,(0, 0, 0)
  • 应使用特异性解决问题(计算样式的优先级),而不是依赖代码的顺序;
  • 当使用第三方样式表的时候,最好将作者样式表置于最后。

标签:级联,优先级,important,nav,样式表,选择器,CSS,特异性
From: https://www.cnblogs.com/feixianxing/p/18011418/css-importance-specificity

相关文章

  • REACT 里面的css文件style不显示
    问题现象在App.jsx同路径下的App.css定义中的style不显示,被上面的样式覆盖了。(使用vite创建的REACTapp)分析点击目前应用的样式右上角的style图标定位到,现在的样式是由引入的bootstrap.css定义的,可看到网页html中自定义css在bootstrap.css上面。由于javascript是从上到下编......
  • nginx改变访问应用端口以及解决css,js或表单提交访问不到的问题
    场景如果原先某个网站是通过ip:8080直接访问的,现在想要加个前缀,并且去掉端口进行访问,比如ip/myapp去访问这个项目,可以通过nginx来实现这个过程。最近有个需求需要变更redmine的访问路径,从ip:8080改成ip/redmine,下面以redmine举例子。配置过程以ip/redmine来访问原先ip:8080的项......
  • Animate.css + Vue2
    Animate.css+Vue2包:https://www.npmjs.com/package/vue2-animate安装:npminstall--savevue2-animate导入:import'vue2-animate/dist/vue2-animate.min.css';使用1:<transitionname="fadeLeft"><pv-if="isShow">he......
  • css的使用
    font连写font-style设置文字是否倾斜font-weight设置文字是否加粗font-family设置文字类型,例如宋体文字连写格式:{font:font-stylefont-weightfont-sizefont-family}例如:p{font:normol70020px"宋体"}text-decoration设置文本划线位置(a标签一般会去掉下划线)underline设......
  • css实现 背景重复线条 实现盒子四个角发光效果 实现内阴影加边框发光效果
     背景重复线条 width:100%;height:100%;//background-color:rgba(51,73,102,1);background-image:linear-gradient(toleft,#3349660.02rem,transparent0.01rem);background-repeat......
  • CSS3属性之 text-overflow:ellipsis
    语法:text-overflow:clip|ellipsis默认值为clip不显示省略标记clip:当前对象内文本溢出时不显示省略标记,而是将溢出部分裁剪。ellipsis:当对象内文本一处时显示省略标记(...)。 一、常见的单行文本溢出显示省略写法:text-overflow:ellipsis;overflow:hidden;white-sp......
  • CSS特效
    水波球HTML<divclass="container"><divclass="wave"></div></div>CSS3代码/*容器显示外层圆框和居中*/.container{position:absolute;width:150px;height:150px;......
  • 基础02-css篇
    二、CSS部分1 css sprite是什么,有什么优缺点 概念:将多个小图片拼接到⼀个图片中。通过background-position 和元素尺寸调节需要显示的背景图案。 优点:  减少HTTP请求数,极大地提高页面加载速度 增加图片信息重复度,提高压缩比,减少图片大小 更换⻛格⽅便,只......
  • 【CSS】第九讲:文本属性(上)
    不积跬步无以至千里@放纵lili一、颜色属性(一)、基本语法:color:颜色英文单词/颜色的十六进制/颜色的RGB(二)、属性:1、颜色英文单词。如:red(红色)、blue(蓝色)示例:2、颜色的十六进制数使用“#”加一个十六进制数表示颜色值。例如:#ff0000(红色)3、颜色的RGB值RGB代码的颜色值,例如:rgb(255,0,0)-----......
  • 【CSS】第九讲:文本属性(上)
    不积跬步无以至千里@放纵lili一、颜色属性(一)、基本语法:color:颜色英文单词/颜色的十六进制/颜色的RGB(二)、属性:1、颜色英文单词。如:red(红色)、blue(蓝色)示例:2、颜色的十六进制数使用“#”加一个十六进制数表示颜色值。例如:#ff0000(红色)3、颜色的RGB值RGB代码的颜色值,例如:rgb(255,0,0)-----......