CSS Mastery - 阅读笔记一

CSS Mastery - Advanced Web Standards 是一本好书,虽然写了挺久的CSS了,却没有时间去正式的学习一下。今天借着小半天的空闲时间,看了一下“关于CSS优先级(Specificity)的解释”的章节。

在CSS编写中,优先级是一个非常有用的技巧。当初学CSS的时候,并没有正儿八经的从文档学起,走了不少弯路。这次正好巩固一下。

以下是我的阅读笔记和练习一

CSS选择符(selector)的优先级分为4级:a,b,c,d

  • 如果是行内样式(inline style)*,则a=1
  • b等于ID选择符*的数量
  • c等于样式(class),伪类(pseudo-class)*和属性(attribute)*选择符的数量
  • d等于类别(type)*,伪对象(pseudo-element)*选择符

(*)解释:
*行内样式(inline style):元素的style属性,比如<div style="color:red;"></div>,其中的color:red;就是行内样式
*ID选择符:元素的id属性,比如<div id="content"></div>可以用ID选择符#content*伪类(pseudo-class):最常见的是锚(a)伪类,比如a:link,a:visited.具体看这里*属性选择符(attribute selectors):比如div[class=demo],含有class为demo的div元素
*类别选择器(type selector):HTML标签选择,比如div .demo,div元素下含有class为demo的元素
*伪对象选择器(pseudo-element selector):比如div:first-letter,div元素下的第一个单词。具体看这里

得出的值按照abcd来连接,然后对比整个数字的大小就可以了 :) 来一个范例看看:

首先页面结构是这样的

<div id="wrapper">
<div id="content">
<p class="article"><span class="date" style="color:red;">10-21</span></p>
</div>
</div>

以各种方式为“10-21”设定文字颜色的优先级关系表

选择符分析优先级(abcd)
style="color:red;"行内样式,a=11000
#wrapper #content {color:red;}两个ID选择符,b=20200
#content .article .date {color:red;}一个ID选择符b=1
两个样式选择符c=2
0120
div#content {color:red;}一个ID选择符b=1
一个类别选择符d=1
0101
#content {color:red;}一个ID选择符b=10100
p.article .date {color:red;}两个样式选择符c=2
一个类别选择符d=1
0021
p.article {color:red;}一个样式选择符c=1
一个类别选择符d=1
0011
p span {color:red;}两个类别选择符d=20002
span {color:red;}一个类别选择符d=10001

相关文章

0 Responses to CSS Mastery - 阅读笔记一

  1. There are currently no comments.

Leave a Reply

您的邮件不会被泄露,请放心。另外为了防止spam,评论后不会马上显示,暂时需要手动审核,见谅。