CSS还有着一些非常好的选择器,可能有些人还不知道,学习这些,可以帮助你在实际项目中很简单的控制你的网页.例如,你可以选择偶数和奇数元素,第一个和最后一个,下一个等等. 在本文中,我们将通过不同的场景使用不同的选择器. 我们不适用已知的一些CSS选择器,比如ID和class.
我们准备学习这些选择器. 我们会解释他们的运作.甚至更多的高级的东西.
p:first-letter | 给段落中的第一个字母样式 |
p:first-line | 选择段落中的第一行 |
:before | CSS中使用content属性添加一个元素到当前元素之前 |
:after | CSS中使用content属性添加一个元素到当前元素之后 |
3. Siblings 和 Children
body > p | 选择仅直接孩子 p 标签(不能是嵌套的) |
h1 + p | 选择紧跟在h1标签后面的兄弟节点p |
h1 ~ pre | 找到所有跟在h1后面的pre标签 |
一个特殊的伪类 :target
选择器 | URL | Div |
*:target | http://example.com/about.html#thebox | 设置在这个DIV |
这个使用很好.如果要访问站点http://example.com/about.html#thebox, :target 通过设置的盒子的ID进行访问设置样式.
比如页面很长,需要直接跳转到评论的地方,这时候通过页面的#id(链接中写这个)设置,当跳转到id相应的位置,这时候可以给跳转到的位置一个样式效果.
tr:first-child / tr:last-child | 第一个或者最后一个 |
tr:nth-child(odd) / tr:nth-child(even) | 选择奇数或者偶数元素 |
tr:nth-child(10n-1) | 每9, 19, 29, 等元素 |
tr:nth-child(-n+6) | 表格的前6行 |
tr:nth-child(-n+6) | 表格的前6行 |
[attr~=”value”] | a[rel~=”copyright”] | 任何元素的一系列属性设定,以空格分割 |
[attr|=”value”] | a[hreflang|=”en”] | 任何a以en开头的属性 |
[attr^=”value”] | img[src^=”images/”] | 一个特定字符串开始匹配 |
[attr$=”value”] | a[href$=”.html”] | 一个特定字符串结束匹配 |
CSS还有更多的选择器,这里就不一一列出了.比如像 :nth-of-type. 所有的选择器在W3C网站列出(http://www.w3.org/TR/selectors/#attribute-selectors)