您现在的位置是:网站首页> 编程资料编程资料
权重和层叠规则决定了CSS样式优先级CSS样式覆盖规则全面了解纯CSS3绘制各种不规则图形图标样式特效源码CSS教程:网页中多个样式表顺序问题css样式层叠规则详解
2021-09-06
917人已围观
简介 基本的规则为同一级别的个数,数量多的优先级高,影响CSS样式权重的两个因素即顺序、数量,下面由几个示例,大家可以感受下
首先,给大家看一篇关于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
复制代码
代码如下:red
em red
red
一、基本的优先级规则
比较同一级别的个数,数量多的优先级高,如果相同即比较下一级别的个数,至于各级别的优先级如下:
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
相关内容
- Css样式兼容IE6,IE7,FIREFOX的浏览器的写法示例介绍浅谈前端制作中,IE6还有必要兼容吗使用语义化标签去写你的HTML 兼容IE6,7,8让IE6支持兼容min-width、max-width CSS样式属性的方法兼容IE6、IE7的min-width、max-width写法一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10兼容IE6的min-width、min-height的简单方法
- css3实例教程 一款纯css3实现的环形导航菜单css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- css表格单元格中的长文本如何实现自动换行CSS文本超出div或者span时用省略号代替 css实现li中文本超出行宽自动隐藏css控制文本实现越界省略号以及自动换行CSS网页布局强制换行和强制不换行的属性讲解-CSS教程-网页制作-网页教如何实现FireFox文本自动换行-CSS教程-网页制作-网页教学网CSS超出文本指定宽度用省略号代替和文本不换行
- 在HTML5中如何使用CSS建立不可选的文字css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- CSS如何只改变父元素背景透明度不改变子元素透明度CSS子元素跟父元素的高度一致的实现方法CSS子元素选择父元素的实现解决CSS中子元素z-index与父元素兄弟节点的层级问题css中子元素设置margin-top为什么影响了父元素css匹配选择属于其父元素的第N个子元素的方法父元素与子元素之间的margin-top问题(css hack)css子元素相对父元素进行定位的实现
- 布局和排版教程 纯css3实现图片三角形排列纯CSS3+DIV实现小三角形边框效果的示例代码详解css如何利用 :before :after 写小三角形CSS3 画基本图形,圆形、椭圆形、三角形等用CSS3绘制三角形的简单方法使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)CSS3实现三角形不断放大效果
- CSS background 控制显示图片的一部分CSS background全部汇总CSS的background属性及CSS3的背景图片设置总结CSS制作边框效果的技巧总结详解使用CSS固定页面背景图片位置的方法使用CSS3来实现滚动视差效果的教程CSS3属性background-size使用指南CSS背景background、background-position使用详解 css中background-size属性使用介绍纯css实现元素下出现横线动画(background-image)
- IE浏览器单独写CSS样式的几种方法用条件注释判断浏览器版本解决页面兼容问题
- css中position:fixed实现div居中上下左右居中不定宽高的文字在div中垂直居中实现方法关于div中img,span垂直居中的问题让Div实现水平或垂直居中的相关方法div中内容上下居中小结css中position:fixed实现div在窗口上下左右居中DIV+CSS中让布局、背景图片、文字内容居中的方法IE9下DIV本来应该居中的结果显示为居左DIV+CSS垂直居中一个浮动元素CSS实现DIV居中的三种方法
- DIV重叠 CSS让DIV层叠 两个DIV或多个DIV顺序重叠加CSS 层叠加的5条原则HTML5 层的叠加的实现