1、属性选择器ide
属性选择器(Attribute selector)让你能够基于属性来定位一个元素。你能够只指定该元素的某个属性,这样全部使用该属性——而无论它的值——的这个元素都将被定位,也能够更加明确并定位在这些属性上使用特定值的元素 —— 这就是属性选择器展现它们的威力的地方。网站
有6个不一样类型的属性选择器attr:spa
[att=value] // 该属性有指定的确切的值。
[att~=value] //该属性的值必须是一系列用空格隔开的多个值,(好比,class=”title featured home”),并且这些值中的一个必须是指定的值”value”。
[att|=value] //属性的值就是“value”或者以“value”开始并当即跟上一个“-”字符,也就是“value-”。(好比lang=”zh-cn”)
[att^=value] // 该属性的值以指定值开始。
[att$=value] //该属性的值包含指定的值(而不管其位置)。
[att*=value] //该属性的值以指定的值结束
---------------------------------.net
子选择器用符号“>”表示。它容许你定位某个元素的第一级子元素。code
好比,若是你想匹配全部的做为你的网站侧栏的div的子元素的h2元素,而不是多是在div元素内的全部h2元素,也不是div的孙元素(或者更低级别的),你就可使用下面的选择器:blog
div#sidebar > h2 { font-size: 20px; }
div#sidebar h2 { font-size: 20px; } // div元素内的全部h2元素,包括子、孙、子子孙孙的h2
---------------------------------继承
3、 兄弟 + ~ip
有两类兄弟组合:临近兄弟组合和普通兄弟组合get
该选择器使用加号“+”来连接先后两个选择器。选择器中的元素有同一个父亲,并且第二个必须牢牢的跟着第一个。it
普通兄弟组合则能匹配全部
CSS:
p + h2{color:red; }
p ~ h2{font-weight:700; }
HTML:
<p>咳咳,内容。</p>
<h2>标题1</h2>
<h2>标题2</h2>
---------------------------------
:link
:visited
:hover
:active
:focus。
:first-child
:first-child伪类容许你定位某个元素第一个子元素
:lang() //:lang(en)
---------------------------------
:target
当你使用锚点(片断标识符 fragment identifier)的时候,好比,http://www.smashingmagazine.com/2009/08/02/bauhaus-ninety-years-of-inspiration/#comments,这“#comments”就是一个片断标识符,你就可使用:target伪类来控制目标的样式
:enabled :disabled :checked
---------------------------------------
:nth-child(n) //ul li:nth-child(3)
:nth-child()伪类容许你定位某个父级元素的一个或多个特定的子元素.
ul li:nth-child(3n+4) { color: yellow; } // 你可使用表达式来定位子元素。好比,下面的表达式将从第四个开始匹配每第三个元素。
--------------------------------------
::before和::after 伪元素用于在一个元素的前面或后面插入内容,纯CSS方法。必须有content属性,,能够设置display,width\height\border\color 等属性;
这些元素将继承它们将附加的元素的大部分属性。能够作出不少效果
好比加书名号,或特定文字
p.description::before { content: "《"; } p.description::after { content: "》"; }
------------------references------------------------------------------