博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS:重量和级联规则,确定其优先级
阅读量:6819 次
发布时间:2019-06-26

本文共 931 字,大约阅读时间需要 3 分钟。

资源:

首先,给大家看一篇关于CSS优先级的演示样例:

一、主要的优先级规则

        比較同一级别的个数,数量多的优先级高,假设同样即比較下一级别的个数。至于各级别的优先级例如以下:

         important > 内联 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 >  通配符 > 继承

二、CSS权重规则

       在《页面重构中的模块化设计》中提到,影响CSS样式权重,有两个重要因素:

            A:样式的优先级跟样式定义的顺序有关

            B:权值的大小跟选择器的类型和数量有关

       一般来说,在同一个CSS文件里,假设有两个同名的样式。则后定义的会覆盖先定义的。

选择器类型的优先级见(一)。

       那么,CSS的权重是怎么算的呢?

       一个selector的权重表示方式:0.0.0.0,依照计算规则给每位填充数字,相应位置相等,则比較下一位。

       权重的计算规则例如以下:(为方便,用A.B.C.D取代各位置的值)

        1、内嵌样式:A=1,B=C=D=0(即1.0.0.0)

          2、ID样式:selector中带几个ID,第2位就加几个1 如#header{color:red}。就是A=C=D=0,B=1(即0.1.0.0)

          3、类,伪类,以及属性的个数就是第三位的值:

                .a.b[type="text"]:hover{}。选择器中有2个类,1个属性,1个伪类,所以它的第3位为4, A=B=D=0,C=4,(即0.0.4.0)

           4、伪元素和标签元素的个数就是第四位的值

                 p:first-letter。有一个标签元素p和伪元素first-letter,值为2,A=B=C=0,D=2(即0.0.0.2)

           5、通配符和继承得到的CSS属性对权重没有影响

三、几个演示样例

        针对以上,看下面几个演示样例

         1、.a .b .c {color:red;}   //0.0.3.0   说明:仅仅有三个类

         2、*{…}         //0.0.0.0    说明:通配符对权重没有影响

         3、.a .b a {color:green} //0.0.2.1     说明:两个类和一个标签

         4、#hid {color:black;}   //0.1.0.0  说明:仅仅有一个ID

下一篇:

版权声明:本文博客原创文章,博客,未经同意,不得转载。

你可能感兴趣的文章
Gnu/Linux系统C编程之 - 系统与进程信息
查看>>
docker容器时区与宿主机不一致的解决方法
查看>>
安装nmon监控步骤---学习笔记
查看>>
JMS消息队列ActiveMQ(点对点模式)
查看>>
LAMP里php.ini配置文件详解
查看>>
redhat6.2多路冗余multipath
查看>>
加密类型以及相关算法
查看>>
WIN2000分布式服务笔记(第一章)
查看>>
11g包dbms_parallel_execute在海量数据处理过程中的应用
查看>>
索引表批量数据装载
查看>>
Oracle 12cR1 RAC 在VMware Workstation上安装(中)—图形界面安装
查看>>
centos 6.8 挂载NTFS移动硬盘
查看>>
独家专访Jeff Dean:TensorFlow不追求一家独大
查看>>
zabbix修改之中文主机名
查看>>
Golang的fallthrough与switch的坑
查看>>
window.opener()方法
查看>>
gitlab 2.2和更高版本升级到2.7
查看>>
puppetmaster
查看>>
openldap ACL设置
查看>>
陕西互联网出路何在?
查看>>