关于HTML技巧之CSS的优先权
来源:才华咖 本文已影响2.47W人
来源:才华咖 本文已影响2.47W人
同一个元素被CSS选择符选中时,就要按照优先权取舍不同的CSS规则,优先权问题是一个冲突解决的问题。
首先就是CSS规则的specificity(特殊性),CSS2.1有一套关于specificity的计算方式,用一个四位的数字串(CSS2是三位)来表示,最终specificity越高的规则越特殊,在优先级判定时也就越有优势。关于specificity的具体计算在各种情况下的数字加成有如下一般规则:
每个ID选择符(#someid),加 0,1,0,0。
每个class选择符(class)、每个属性选择符(形如[attr=""]等)、每个伪类(形如:hover等)加0,0,1,0
每个元素或伪元素(:firstchild)等,加0,0,0,1
其他选择符包括全局选择符*,加0,0,0,0。相当于没加,不过这也是一种specificity,后面会解释。
按这些规则将数字串逐位相加,就得到最终计算得的specificity,然后在比较取舍时按照从左到右的顺序逐位比较。
举一些例子吧:
h1 {color: red;}
/* 只有一个普通元素加成,结果是 0,0,0,1 */
body h1 {color: green;}
/* 两个普通元素加成,结果是 0,0,0,2 */
--后者胜出
e {color: purple;}
/* 一个普通元素、一个class选择符加成,结果是 0,0,1,1*/
h2 {color: silver;}
/*一个普通元素,结果是 0,0,0,1 */
--前者胜出
HTML > body table tr[id="totals"] td ul > li {color: maroon;}
/* 7个普通元素、一个属性选择符、两个其他选择符,结果是0,0,1,7 */
li#answer {color: navy;}
/* 一个ID选择符,一个普通选择符,结果是0,1,0,1 */
--后者胜出
除了specificity还有一些其他规则
文内的样式优先级为1,0,0,0,所以始终高于外部定义。这里文内样式指形如
blah的样式,而外部定义指经由或标签定义的规则。 有!important声明的规则高于一切。 如果!important声明冲突,则比较优先权。 如果优先权一样,则按照在源码中出现的顺序决定,后来者居上。 由继承而得到的样式没有specificity的.计算,它低于一切其他规则(比如全局选择符*定义的规则)。 关于经由@import载入的外部样式,由于@import必须出现在所有其他规则定义之前(如不是,则浏览器应该忽略之),所以按照后来居上原则,一般优先权冲突时是占下风的。 这里需要提一下IE,IE是可以识别位置错误的@import的,但无论@import在什么地方,它都认为是位于所有其他规则定义之前的,这可能会引发一些误会。 所以优先权问题虽然看起来简单,但其背后还是有蛮复杂的机制的,需要多多留意。
关于MyEclipse代码提示设置包括html和jsp的代码
php内核分析之sapi-module-struct
谷歌HTML/CSS规范
Unit5 My clothes A Let’s talk评课稿
Scientists Build Robots to Live With Humans英语美文
英语《What time does school start》教学反思
中考英语chemistryclass阅读理解训练
Monsters In The Class英语作文
At Climate Summit, Hope for Emissions Deal美文欣赏
Scott Mitchell 的ASP.NET 2.0数据教程
Middle school students for the reasons 英语作文
高中英语作文:Smart tech makes life simpler
Letslearnsummerbeachsh二年级英语教学设计
php函数method-exists()与is-callable()有何区别
英语作文:how college students Howdostudentsinmyclassg
Pick the Worlds Ugliest Insect英语作文
The last year of my middle school英语作文
html.jsp和srevlet的关系
人教PEP版小学五年级英语下册Unit3Myschoolcalender.ALet’stalk
HTML5中你如何使用CSS建立不可选的文字
关于HTML基础之HTML内容细则
关闭Photoshop CS5右上角CS live的方法
圣诞节的英文诗歌《Christmas Love》
The mountains the most beautiful female teachers英语作文
经典圣诞诗歌《A Visit from St. Nicholas》
初一英语Lesson6家庭作业:Thingsforschool
少儿英语小故事:She Practices Flips for the Olympic
外研一起2A M2 Unit 2 He doesnt like this shirt的优秀教案
关于写作的技巧:
关于HTML技巧之CSS的优先权
关于演讲的技巧
Linux+Apache+Mysql+PHP优化技巧
英语作文:中文和英文的相似之处(chinese and english similarit
英语作文My English classroom
WIndows 8可以支持Photoshop CS6和Lightroom 4
christmas is coming的英语作文
雅思阅读模拟试题:Sun's fickle heart may leave us cold
名师讲技巧:SAT阅读技巧Sentence Completion
Christmas Is Coming为题目的作文
My Cousin Stella优秀英语作文