CSS层叠性权重计算方法【CSS教程】

html-css016

CSS层叠性权重计算方法【CSS教程】,第1张

层叠性 是指多种CSS样式的叠加,也是浏览器处理冲突的一个能力,如果一个属性通过两个相同选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉。

定义CSS样式时,经常出现两个或更多规则应用在同一元素上

·选择器相同,则执行层叠性

·选择器不同,就会出现优先级的问题,就会涉及CSS权重计算。

下面我们详解介绍 CSS层叠性权重计算方法。

1) 权重计算公式

关于CSS权重,我们需要一套计算公式来去计算,这个就是 CSS Specificity(特殊性)

值从左到右,左面的最大,一级大于一级,数位之间没有进制,级别之间不可超越。

·关于CSS权重,我们需要一套计算公式来去计算,这个就是 CSS Specificity(特殊性)

2) 权重叠加

我们经常用交集选择器,后代选择器等,是有多个基础选择器组合而成,那么此时,就会出现权重叠加。

就是一个简单的加法计算

div ul li ------>0,0,0,3

.nav ul li ------>0,0,1,2

a:hover -----—>0,0,1,1

.nav a ------>0,0,1,1

注意:

数位之间没有进制 比如说: 0,0,0,5 + 0,0,0,5 =0,0,0,10 而不是 0,0, 1, 0, 所以不会存在10个div能赶上一个类选择器的情况。

3) 继承的权重是0

这个不难,但是忽略很容易绕晕。其实,我们修改样式,一定要看该标签有没有被选中。

1) 如果选中了,那么以上面的公式来计权重。谁大听谁的。

2) 如果没有选中,那么权重是0,因为继承的权重为0。

前端入门Web前端HTML5+CSS3+移动Web前端全套

.wrap li:last-child{ border-right:none} 吧最后一个li的border-right的border去掉。。。但是兼容不好,ie好像是ie9以上的浏览器才行~~

不行还有一种方法li给border,通过margin-left:-1px合并border,具体如下

body,ul{

margin:0

padding:0}

li{

list-style:none}

.wrap{

width:385px

height:39px

overflow:hidden

border-left:1px

solid

#0000f0

margin:30px

auto}

.wrap

li{

width:76px

height:37px

line-height:37px

text-align:center

border:1px

solid

#0000f0

float:left

margin-left:

-1px

}

妙味

妙味

妙味

妙味

妙味

演示:

css层叠图片代码:

<pre name="code" class="html"><div style="position: relative">//这个层为外面的父层,只需设置相对位置样式即可

<div style="position: absolute">//这个为里面要叠加的层,只需设置绝对样式

<img src="img/sunshuai.jpg"/>//这个为层里面的内容图片

</div>

<img src="20110110/871_129391305700000000.jpg"/>//这个为父层内容

</div>

或者:

<div style="position:absolutez-index:1left:10pxtop:10px">

<img src="a.gif" width="100" height="100"></div>

<div style="position:absolutez-index:2left:60pxtop:60px">

<img src="b.gif" width="100" height="100"></div>

扩展资料:

CSS 中重要的叠加层叠概念:

1. 层叠上下文 (Stacking Context)

层叠上下文 (堆叠上下文, Stacking

2. 层叠等级 (Stacking Level)

层叠等级 (层叠水平, Stacking Level) 决定了同一个层叠上下文中元素在z轴上的显示顺序的概念,普通元素的层叠等级优先由其所在的层叠上下文决定。层叠等级的比较只有在同一个层叠上下文元素中才有意义。

在同一个层叠上下文中,层叠等级描述定义的是该层叠上下文中的元素在Z轴上的上下顺序。

3. 层叠顺序 (Stacking Order)

层叠顺序 (层叠次序, 堆叠顺序, Stacking Order) 描述的是元素在同一个层叠上下文中的顺序规则,从层叠的底部开始,共有七种层叠顺序:

(1)背景和边框:形成层叠上下文的元素的背景和边框。

(2)负z-index值:层叠上下文内有着负z-index值的定位子元素,负的越大层叠等级越低;

(3)块级盒:文档流中块级、非定位子元素;

(4)浮动盒:非定位浮动元素;

(5)行内盒:文档流中行内、非定位子元素;

(6)z-index: 0:z-index为0或auto的定位元素, 这些元素形成了新的层叠上下文;

(7)正z-index值:z-index 为正的定位元素,正的越大层叠等级越高;

同一个层叠顺序的元素按照在HTML里出现的顺序层叠;第7级顺序的元素会显示在之前顺序元素的上方,也就是看起来覆盖了更低级的元素。

参考资料来源:百度百科-css