标签:
有关选择符的优先级问题:
在CSS那些事上面看到的一个很生动的叫法,他创建了一个优先积分来评定选择符的优先级:
标签选择符,伪类伪元素,优先积分为0;
类选择符,属性选择符,优先积分为10;
ID选择符,优先积分为100;
标签内的style属性,优先积分为1000;
其他选择符,如通配符等等,优先积分为0;
还有一个就是!important,他的优先级为正无穷......
下面是相邻选择符与子选择符的一些区别:
先看一段代码:
1 <body> 2 <p> againD </p> 3 <strong> wants to be a good javascript developer.</strong> 4 </body>
此时只考虑子选择器和相邻选择器的情况下,若想选择<strong>标签,可以用以下两种方式:
1 body > strong { 2 //the style... 3 } 4 5 p + strong { 6 //the style... 7 }
此时这两种方式选择上是完全等价的,并不能看出什么......
再看下边的!
1 <body> 2 <p> againD </p> 3 <strong> wants to be a good javascript developer.</strong> 4 <strong> he also wants to be a good student!</strong> 5 </body>
看嘛,现在想要用 body > strong{//...} 选定 <strong> 的话,会两个都选定,而 p + strong {} 的话则是仍旧只选择第一个,但是,如果你认为这就是所有的话,那就大错特错了!
...再来一段代码:
1 <body> 2 <p> againD </p> 3 <strong> loves </strong> 4 <strong> himself </strong> 5 <strong> adnby </strong> 6 <strong> his mother </strong> 7 <strong> his father </strong> 8 </body>
针对以上代码,如果你利用 p + strong 选择 <strong> 的话,会得到第一个 <strong> 标签,但是你使用 strong + strong 来进行选择,你会发现,除了第一个<strong> 以外,其他的四个 <strong> 标签都会被选定,那四个 <strong> 都可以理解为是与 <strong> 标签相邻的 <strong> 标签。
标签:
原文地址:http://www.cnblogs.com/adforever/p/4757667.html