CSS中的另外一种需要知道的选择器.

吴统威 on 编程语言 前端编程 HTML/CSS/JAVASCRIPT | 2016-01-09 16:37:56.0

CSS还有着一些非常好的选择器,可能有些人还不知道,学习这些,可以帮助你在实际项目中很简单的控制你的网页.例如,你可以选择偶数和奇数元素,第一个和最后一个,下一个等等. 在本文中,我们将通过不同的场景使用不同的选择器. 我们不适用已知的一些CSS选择器,比如ID和class.

我们准备学习这些选择器. 我们会解释他们的运作.甚至更多的高级的东西.


1. First Line 和 First Letter

p:first-letter给段落中的第一个字母样式
p:first-line选择段落中的第一行


2. Before 和 After

:beforeCSS中使用content属性添加一个元素到当前元素之前
:afterCSS中使用content属性添加一个元素到当前元素之后


3. Siblings 和 Children

body > p选择仅直接孩子 p 标签(不能是嵌套的)
h1 + p选择紧跟在h1标签后面的兄弟节点p
h1 ~ pre找到所有跟在h1后面的pre标签


4. Target 伪类

一个特殊的伪类 :target

选择器URLDiv
*:targethttp://example.com/about.html#thebox

设置在这个DIV

这个使用很好.如果要访问站点http://example.com/about.html#thebox, :target 通过设置的盒子的ID进行访问设置样式.

比如页面很长,需要直接跳转到评论的地方,这时候通过页面的#id(链接中写这个)设置,当跳转到id相应的位置,这时候可以给跳转到的位置一个样式效果.


5. :nth-child 伪类

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行


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)