在CSS2中引入了一些屬性選擇器秧了,而CSS3在CSS2的基礎上對屬性選擇器進行了擴展跨扮,新增了3個屬性選擇器,使得屬性選擇器有了通配符的概念,這三個屬性選擇器與CSS2的屬性選擇器共同構(gòu)成了CSS功能強大的屬性選擇器好港。如下表所示:
(一)結(jié)構(gòu)偽類選擇器-root
:root選擇器愉镰,從字面上我們就可以很清楚的理解是根選擇器,他的意思就是匹配元素E所在文檔的根元素钧汹。在HTML文檔中丈探,根元素始終是<html>。
(二)結(jié)構(gòu)偽類選擇器-not
:not選擇器稱為否定選擇器拔莱,和jQuery中的:not選擇器一模一樣碗降,可以選擇某個元素之外的所有元素。就拿form元素來說塘秦,比如說你想給表單中除submit按鈕之外的input元素添加紅色邊框讼渊,CSS代碼可以寫成:(特別注意沒有空格!W鹛蕖W谩)
form {
width: 200px;
margin: 20px auto;
}
div {
margin-bottom: 20px;
}
input:not([type="submit"]){
border:1px solid red;
}
演示結(jié)果:
(三)結(jié)構(gòu)性偽類選擇器——empty
:empty選擇器表示的就是空。用來選擇沒有任何內(nèi)容的元素须误,這里沒有內(nèi)容值得是一點內(nèi)容都沒有挨稿,哪怕是一個空格。
(四)結(jié)構(gòu)偽類選擇器——target
URL帶有后面跟有錨名稱#京痢,指向文檔內(nèi)某個具體的元素奶甘。這個被鏈接的元素就是目標元素(target element).
:target選擇器稱為目標選擇器,可用于選取當前活動的目標元素。
演示結(jié)果:
分析:
1祭椰、具體來說臭家,觸發(fā)元素的URL中的標志符通常會包含一個#號,后面帶有一個標志符名稱方淤,上面代碼中是:#brand
2钉赁、:target就是用來匹配id為“brand”的元素(id="brand"的元素),上面代碼中是那個div元素。
多個url(多個target)處理:
就像上面的例子携茂,#brand與后面的id="brand"是對應的你踩,當同一個頁面上有很多的url的時候你可以取不同的名字,只要#號后對的名稱與id=""中的名稱對應就可以了邑蒋。
如下面例子:
上面的代碼可以對不同的target對象設置不同的樣式姓蜂。
?
?
?
Text Input:
Password Input:
?
Text Input:
Password Input:Text Input:
Password Input: