`
nubix
  • 浏览: 90838 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

CSS优先级的判定

阅读更多

A selector's specificity is calculated as follows:

  • count 1 if the declaration is from is a 'style' attribute rather than a rule with a selector, 0 otherwise (= a) (In HTML, values of an element's "style" attribute are style sheet rules. These rules have no selectors, so a=1, b=0, c=0, and d=0.)
  • count the number of ID attributes in the selector (= b)
  • count the number of other attributes and pseudo-classes in the selector (= c)
  • count the number of element names and pseudo-elements in the selector (= d)

The specificity is based only on the form of the selector. In particular, a selector of the form "[id=p33]" is counted as an attribute selector (a=0, b=0, c=1, d=0), even if the id attribute is defined as an "ID" in the source document's DTD.

Concatenating the four numbers a-b-c-d (in a number system with a large base) gives the specificity.

Example(s):

Some examples:

 *             {}  /* a=0 b=0 c=0 d=0 -> specificity = 0,0,0,0 */
 li            {}  /* a=0 b=0 c=0 d=1 -> specificity = 0,0,0,1 */
 li:first-line {}  /* a=0 b=0 c=0 d=2 -> specificity = 0,0,0,2 */
 ul li         {}  /* a=0 b=0 c=0 d=2 -> specificity = 0,0,0,2 */
 ul ol+li      {}  /* a=0 b=0 c=0 d=3 -> specificity = 0,0,0,3 */
 h1 + *[rel=up]{}  /* a=0 b=0 c=1 d=1 -> specificity = 0,0,1,1 */
 ul ol li.red  {}  /* a=0 b=0 c=1 d=3 -> specificity = 0,0,1,3 */
 li.red.level  {}  /* a=0 b=0 c=2 d=1 -> specificity = 0,0,2,1 */
 #x34y         {}  /* a=0 b=1 c=0 d=0 -> specificity = 0,1,0,0 */
 style=""          /* a=1 b=0 c=0 d=0 -> specificity = 1,0,0,0 */
<HEAD>
<STYLE type="text/css">
  #x97z { color: red }
</STYLE>
</HEAD>
<BODY>
<P ID=x97z style="color: green">
</BODY>

In the above example, the color of the P element would be green. The declaration in the "style" attribute will override the one in the STYLE element because of cascading rule 3, since it has a higher specificity.

分享到:
评论

相关推荐

    CSS优先级算法如何计算?有哪些判定规定及计算方式

    CSS 的specificity 特性或称非凡性,它是一个衡量CSS值优先级的一个标准,既然作为标准,就具有一套相关的判定规定及计算方式,specificity用一个四位的数 字串(CSS2是三位)来表示,更像四个级别,值从左到右,左面...

    CSS选择器种类、优先级与匹配原理详解

    接下来,讨论CSS选择器的优先级。优先级决定了当两个选择器指向同一个元素,并且应用了相同的样式属性时,哪一个属性将被浏览器采用。优先级通常按照以下规则确定: - 标签名选择器的优先级为1。 - 类选择器的...

    最新版面试宝典(1).pdf

    - CSS选择器的种类和优先级判定规则。 - display和visibility属性的区别。 - IE浏览器下的CSS条件注释和特殊写法。 - 用div+css实现固定宽度与自适应宽度布局的方法。 - display: inline-block时间隙产生的原因...

    JS仿ios按触效果

    3个class的优先级按lcp_down,lcp_down2,lcp_down3递减,也就是说,如果一个dom元素上有多个class,则按优先级判定效果。 dom的有效性 3 由于是自定义div模拟按触效果,所以input等非闭合标签的按触效果无效! 如果...

    1+X WEB前端开发初级教案.pdf

    - 选择器的优先级:CSS规则的优先级判定。 6. **CSS样式(属性)** - 背景样式、字体样式、文本属性等基础样式。 - 样式重置:避免不同浏览器对HTML元素的默认样式影响。 - 盒模型样式:`margin`, `padding`, `...

    2021-2022计算机二级等级考试试题及答案No.16955.docx

    4. 结构化分析的常用工具有判定树、数据字典和数据流图,PAD图属于结构化设计的工具,不是分析阶段的工具。 5. CSS(层叠样式表)中的`font-size`属性用于控制文本尺寸,选项A正确。 6. 窗体级变量在定义时可以是...

    我国装饰网行业门户网站推广方案.doc

    3. **关键词策略**:Title标签应按关键词优先级排序,Keywords标签关键词数量应在5-8个,Description标签需包含有吸引力的叙述,同时呼应Title中的关键词。 4. **robots.txt与sitemap**:缺少robots.txt文件不利于...

    2021-2022计算机二级等级考试试题及答案No.3995.docx

    结构化分析是一种常用的系统分析方法,其中常用的工具有数据流图(DFD)、数据字典(DD)和判定树/表等。PAD图(问题分析图)属于结构化设计工具。因此,正确答案为 D(PAD图)。 ### 25. 超文本标记语言 HTML...

    2021-2022计算机二级等级考试试题及答案No.1689.docx

    2. 结构化分析的常用工具:结构化分析是一种系统开发方法,常用工具有判定树、数据字典、数据流图,但 PAD 图(Program Allocation Diagram,程序布局图)并不属于结构化分析工具,而是面向对象设计的一种图形表示法...

    2021-2022计算机二级等级考试试题及答案No.11777.docx

    - **运算符优先级**:先进行乘法运算,再进行加法运算。 - **复合赋值运算符**:如`+=`表示先进行右边的操作,然后将结果赋值给左边的变量。 - **整数运算**:两个整数相加或相乘的结果仍为整数。 **正确答案**:C...

    play框架手册

    路由优先级 - 18 - 服务器静态资源 - 18 - staticDir: mapping - 18 - staticFile: mapping - 19 - URL 编码 - 19 - 反转路由:用于生成某些URL - 19 - 设置内容风格(CSS) - 20 - HTTP 内容协商 negotiation - 21 - ...

Global site tag (gtag.js) - Google Analytics