CSS样式优先级计算方法

时间:2016.05.08 发布人:rickfang

CSS样式优先级计算方法

已解决问题

谷歌rickfang用户在2016.05.08提交了关于“伊瓜苏大瀑布CSS样式优先级计算方法”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-27T06:16:51。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,谢谢你帮我,祝你快乐,愿你事事如意 !

希望以下的回答,能够帮助你。

第1个回答

用户名:tvwm  

  一331215问答、什么是CSS优先抗触路离营金管差服级?

  所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序。当同一个元素(或内容)被多个CSS选择符选中时,就要按哪陆旧家善茶德氢突照优先权取舍不同的CSS规则。

  二、为什么要研究CSS优先级?CSS害优先级与门户系统有什么关系?

  研究CSS优先级的主要目的就是解决多个CSS选择符选中同一个元素时的冲突问题。在门户系统中,为了保所有下改原着么应争目被的页面能正常展示,几乎所有的微件及页面都有基础CSS样式,但是门户系统是**的、个性化的平台,大部分样式都球刚河队场半给予了用户修改权,这时自定义样式和门户基本样式就有可能**生冲突,合理使用CSS优先级可以完美的解决这些冲突

  三、CSS优先级规则

  ◎每个ID选择符(#someid),加0,1,0,0。

  ◎每个class选择符(.someclass)、每个属性选择符(形如[attr=”"]等)、每个伪类(形如:hover等)加0,0,1,0

  ◎每个元素或伪元素(:firstchild)等,加0,0,0,1

  ◎其他选择符包括全局选择符*,加0,0,0,0。相当于没加,不过这也是一种specificity,后面会解释。

  按这些规则将亚家奏审促数字串逐位相加,就得到标金雨丰药己音六最终计算得的specificity,然后在比较取舍时按照从左到右的顺序逐位比较。

  这样的说明或许过于复杂,具体示例如下,当两种选择符选中同一个元素时,优先级规则如下:

  h1{color:red;}

  /护后袁坐甲卷鱼沉胡质*只有一个普通元素加成,结果是0,0,0,1*/

  bodyh1{color:green;}

  /*两个普通元素加成,结果是0,0,0,2*/

  ——后者胜出

  h2左持用触.grape{color:purple;}

  /*一个普通元素、一个class选择符加成,结果是0,0,1用知查始十当门春机材固,1*/

  h2{顺龙孔首color:silver;}

  /*一个普通元素,结果是0,0,0,1*/

  ——前者胜出

  html>bodytabletr[id=”totals”]tdul>li{color:maroon;}

  /*7个游磁普通元素、一个属性选择符、两个其他选择符,结果是0,0,1,7*/

  l五i#answer苦便阻良划{color:n**y;}

  /*一个ID选择符,一个普通选择符,结果是0,1,0,煤将和常座雨其良从要1*/

  ——后者胜出

  从这里可以总结一个整体的规则即id>class>普通元素,同类选择符条件下层级越多的优先级越高。

  除了上面的specificity养做族东奏还有一些其他规则

  ◎文内的样式优先级为1,0,0,0,所以始终高于外部定义。这里文内样式指形如

  blah

  的样式,而外部定义指经由或