zoukankan      html  css  js  c++  java
  • CSS 权重

    开发中会使用很多CSS,页面中引入common的,在引入page specific的,有的时候经常会出现样式覆盖问题,简单粗暴的方法就是在想要展示的CSS上应用!important,但是不推荐这样做,只要知道CSS的优先级和权重,我们就可以写出高质量的CSS代码。

    CSS权重由四个数字按 a-b-c-d 这样连接起来表示。

    • 如果声明来自于“style”属性,则记为 1,否则记为 0 (= a)
    • 记为选择器中 ID 属性的个数 (= b)
    • 记为选择器中其他属性和伪类的个数 (= c)
    • 记为选择器中元素名称和伪元素的个数 (= d)

    例子:

    *             {}  /* a=0 b=0 c=0 d=0 -> specificity = 0,0,0,0 */
    li            {}  /* a=0 b=0 c=0 d=1 -> specificity = 0,0,0,1 */
    li:first-line {}  /* a=0 b=0 c=0 d=2 -> specificity = 0,0,0,2 */
    ul li         {}  /* a=0 b=0 c=0 d=2 -> specificity = 0,0,0,2 */
    ul ol+li      {}  /* a=0 b=0 c=0 d=3 -> specificity = 0,0,0,3 */
    h1 + *[rel=up]{}  /* a=0 b=0 c=1 d=1 -> specificity = 0,0,1,1 */
    ul ol li.red  {}  /* a=0 b=0 c=1 d=3 -> specificity = 0,0,1,3 */
    li.red.level  {}  /* a=0 b=0 c=2 d=1 -> specificity = 0,0,2,1 */
    #x34y         {}  /* a=0 b=1 c=0 d=0 -> specificity = 0,1,0,0 */
    style=""          /* a=1 b=0 c=0 d=0 -> specificity = 1,0,0,0 */

    注意:这里所列的情况不包含!important。

    参考资料:

    https://my.oschina.net/anna153/blog/377259

  • 相关阅读:
    Guava入门第四章(Objects)
    Guava入门第三章(Preconditions)
    Guava入门第二章(Splitter)
    Guava入门第一章(Joiner)
    Docker入门第六章
    Docker遇到的问题
    Docker命令图
    2016-08-26-Java比较器的使用
    2017-10-6-MyBatis配置简述
    2017-9-17-Java Exception小结
  • 原文地址:https://www.cnblogs.com/gogolee/p/6635479.html
Copyright © 2011-2022 走看看