回憶一下CSS2中得選擇器樣式:css
行內樣式>ID選擇器>類選擇器>標籤名選擇器css3
1、第一種分類方式:按照功能上優化
element1~element2 element1 以後出現的全部 element2。 spa
兩種元素必須擁有相同的父元素,可是 element2 沒必要 直接緊隨 element1。 blog
例子: p~ul{font-size: 50px;} (ul在p的下方)element
其中有有一個特殊的:相鄰的兄弟選擇器(緊隨到其元素纔會有影響);p+ul{font-size:50px;}文檔
八、子選擇器字符串
子選擇器使用了大於號.表示父級元素的子元素將有所改變get
h1>strong{color:red;} 子元素的樣式有所變化input
<h1>我是<strong>子選擇器<strong>我是子元素樣式</strong><h1>
九、屬性選擇器
(1) [attribute] 匹配帶有指定屬性的元素
例子:[title]{color:green}
<div><a href="#" title="我是特殊的title">屬性選擇器</a></div>
輸出
(2)[attribute=value] 匹配帶有指定屬性與值得元素;
[title="title"]{color: #00CCFF;margin-left: 30px;}
<div>
<a href="#" title="titlehh">屬性選擇器</a>
<a href="#" title="title">帶title的值得選擇器</a>
</div>
顯示的結果爲:
<div>
<a href="#" title="title">咱們都帶有title這個單詞</a>
<a href="#" title="title">咱們都帶有title這個單詞</a>
<a href="#" title="title">咱們都帶有title這個單詞</a>
</div>
顯示出來的結果是
(5)[attribute^=valiue] 匹配屬性值以指定值開頭的每一個元素.
指定值能夠是單獨一個字母或者一個單詞或者是數字。最好是單詞(便於代碼的編輯)
[title^="title"]{color: green;margin-left: 50px;}
<div>
<a href="#" title="titleFirst">咱們都帶有title這個單詞</a>
<a href="#" title="titleSecond">咱們都帶有title這個單詞</a>
<a href="#" title="title">咱們都帶有title這個單詞</a>
</div>
(6)[attribute$=value] 匹配屬性值以指定值結尾的每一個元素
[title$="title"]{color: #003399;margin-left: 100px;}
<div>
<a href="#" title="Firsttitle">咱們都帶有title這個單詞</a>
<a href="#" title="Secondtitle">咱們都帶有title這個單詞</a>
<a href="#" title="1title">咱們都帶有title這個單詞</a>
</div>
(7)[atrribute*=value]匹配屬性值包含指定值的每一個元素(這個是最經常使用的屬性選擇器)
[title*="ti"]{color: red;margin-left: 100px;}
就是目標元素(target element)。 :target 選擇器可用於選取當前活動的目標元素。
點擊就會有樣式的改變
:target{
color: red;
font-size:30px ;
}
<div>
<a href="#news" title="Firstitle">而且href有值跳轉到new1</a>
<a href="#" title="Secondtitle">帶有href屬性</a>
<p id="news">我有專有的href值,內容1</p>
</div>
點擊第一個a標籤,會跳轉到對應id的p標籤,而且p標籤的樣式會有改變
(3)::selection 匹配每一個已被選中的 input 元素(只用於單選按鈕和複選框)
(4):not(selector)(反僞類)
綜上就是我對CSS選擇器的總結,你們有什麼問題能夠提出來。後期我還會對對它優化更新。
多多指點意見