CSS-三大特性

CSS层叠性

    所谓层叠性是指多种CSS样式的叠加,是浏览器处理冲突的一个能力,如果一个属性通过两个相同选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉,比如先给某个标签指定了内部文字颜色为红色,接着又指定了颜色为黄色,此时出现一个标签指定了相同样式不同值的情况,这就是样式冲突。一般情况下,如果出现样式冲突,则会按照CSS书写的顺序,以最后的样式为准。

CSS继承性

    所谓继承性是指书写CSS样式表时,子标签会继承父标签的某些样式,想要设置一个可继承的属性,只需将它应用于父元素即可。

CSS优先级

    关于CSS权重,有一套公式可计算,规范如下:
继承或者通配符选择器的贡献值 0,0,0,0
每个标签选择器贡献值 0,0,0,1
每个类,伪类选择器贡献值 0,0,1,0
每个id选择器贡献值 0,1,0,0
每个行内样式贡献值 1,0,0,0
每个!important的贡献值(在属性后面加!important) 无穷大
    四个级别,值从做到右,左边的最大,一级大于一级,数位之间没有进制,级别之间不可超越。权重不继承。
权重叠加
ul li {} 0001+0001 = 0002
li {} 0001
nav ul li {} 0001+0001+0001 = 0003
.nav ul li 0010+0001+0001 = 0012
`#nav p 0100+0001 = 0101
一个栗子

<div id="box1" class="c1">
      <div id="box2" class="c2">
            <div id="box3" class="c3">这是啥颜色</div>
      </div>
</div>
/* 下面这个的意思是id为box1下面的所有div,不管是直接子元素还是孙子元素,都将这样设置类型
也就是说,box1下面的所有div的权重都是 0101了 */
#box1 div {    
    color: green;
}
/* #box2 div {
    color: red;
} */

/* 这个地方的意思是设置box3的权重为0100,它也是box1下面的子元素,和上面设置权重对比,上面的权重高,所以为green */
#box3 {
    color: yellow; 
}
image.png

 如果把上面代码中注释的地方放出来,显示的颜色就是red,为啥呢,因为box2下面的div包括box3,而且选择器权重为0101,比#box3选择器的权重高,和#box1 div选择器的权重相同,因为放在了后面,所以颜色被重置为red。

<nav id="omg">
      <ul id="omgomg">
           <li id="shit">是个鬼颜色啊</li>
           <li>是个鬼颜色</li>
           <li>是个鬼</li>
       </ul>
</nav>
/* 这个地方的意思是设置omg下面的所有ul权重,这里注意,设置的是ul,而不是ul下面的li,所以这个ul的权重是0101 */
#omg ul {
    color: red;
}

/* #omgomg li {
    color: green;
} */

/* 这个地方的意思是设置shit的权重,它是ul下面的li,并不继承ul的权重,所以它自身的权重就是0100,所以显示为黄色
而其他没有设置这个属性的li,继承ul的颜色属性红色 */
#shit {
    color: yellow
}
image.png

 这里要注意的地方是,后代选择器设置的是所有的子元素、孙子元素…只要包含,就会生效,在判断样式的时候,首先分析有哪些选择器设置到这个元素上,再分析各个选择器的权重,最后看顺序。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容

  • CSS三大特性——继承、 优先级和层叠。 继承:即子类元素继承父类的样式; 优先级:是指不同类别样式的权重比较; ...
    这只兔子要起来阅读 423评论 0 0
  • 谷歌浏览器开发者工具使用 进入谷歌浏览器后如下图操作,或者按F12 调整样式![](http://upload-i...
    MGd阅读 257评论 0 0
  • ## CSS三大特性 # 继承性(inherit) # 层叠性 # 优先级 # important # div标签...
    KsKison阅读 338评论 0 0
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,727评论 1 92
  • 一 : 层叠性 浏览器处理冲突的一种能力,以CSS的书写顺序,以下面的样式为准.类似英语的就近原则总结一 : 样式...
    TianTianBaby223阅读 390评论 0 0