能夠爲擁有指定屬性的 HTML 元素設置樣式,而不只限於 class 和 id 屬性。css
註釋:只有在規定了 !DOCTYPE 時,IE7 和 IE8 才支持屬性選擇器。在 IE6 及更低的版本中,不支持屬性選擇。spa
下面的例子爲包含指定值的 title 屬性的全部元素設置樣式。適用於由空格分隔的屬性值:get
{ color:red; }[title~=hello]
親自試一試input
下面的例子爲帶有包含指定值的 lang 屬性的全部元素設置樣式。適用於由連字符分隔的屬性值:it
[lang|=en] { color:red; }
親自試一試io
屬性選擇器在爲不帶有 class 或 id 的表單設置樣式時特別有用:
input[type="text"] { width:150px; display:block; margin-bottom:10px; background-color:yellow; font-family: Verdana, Arial; } input[type="button"] { width:120px; margin-left:35px; display:block; font-family: Verdana, Arial; }
選擇器 | 描述 |
---|---|
[attribute] | 用於選取帶有指定屬性的元素。 |
[attribute=value] | 用於選取帶有指定屬性和值的元素。 |
[attribute~=value] | 用於選取屬性值中包含指定詞彙的元素。 |
[attribute|=value] | 用於選取帶有以指定值開頭的屬性值的元素,該值必須是整個單詞。 |
[attribute^=value] | 匹配屬性值以指定值開頭的每一個元素。 |
[attribute$=value] | 匹配屬性值以指定值結尾的每一個元素。 |
[attribute*=value] | 匹配屬性值中包含指定值的每一個元素。 |
ID 選擇器容許以一種獨立於文檔元素的方式來指定樣式。
在某些方面,ID 選擇器相似於類選擇器,不過也有一些重要差異。
首先,ID 選擇器前面有一個 # 號 - 也稱爲棋盤號或井號。
請看下面的規則:
*#intro {font-weight:bold;}
與類選擇器同樣,ID 選擇器中能夠忽略通配選擇器。前面的例子也能夠寫做:
#intro {font-weight:bold;}
這個選擇器的效果將是同樣的。
第二個區別是 ID 選擇器不引用 class 屬性的值,毫無疑問,它要引用 id 屬性中的值。
如下是一個實際 ID 選擇器的例子:
<p id="intro">This is a paragraph of introduction.</p>
在類選擇器這一章中咱們曾講解過,能夠爲任意多個元素指定類。前一章中類名 important 被應用到 p 和 h1 元素,並且它還能夠應用到更多元素。
與類不一樣,在一個 HTML 文檔中,ID 選擇器會使用一次,並且僅一次。
不一樣於類選擇器,ID 選擇器不能結合使用,由於 ID 屬性不容許有以空格分隔的詞列表。
相似於類,能夠獨立於元素來選擇 ID。有些狀況下,您知道文檔中會出現某個特定 ID 值,可是並不知道它會出如今哪一個元素上,因此您想聲明獨立的 ID 選擇器。例如,您可能知道在一個給定的文檔中會有一個 ID 值爲 mostImportant 的元素。您不知道這個最重要的東西是一個段落、一個短語、一個列表項仍是一個小節標題。您只知道每一個文檔都會有這麼一個最重要的內容,它可能在任何元素中,並且只能出現一個。在這種狀況下,能夠編寫以下規則:
#mostImportant {color:red; background:yellow;}
這個規則會與如下各個元素匹配(這些元素不能在同一個文檔中同時出現,由於它們都有相同的 ID 值):
<h1 id="mostImportant">This is important!</h1>
<em id="mostImportant">This is important!</em> <ul id="mostImportant">This is important!</ul>
親自試一試:
請注意,類選擇器和 ID 選擇器多是區分大小寫的。這取決於文檔的語言。HTML 和 XHTML 將類和 ID 值定義爲區分大小寫,因此類和 ID 值的大小寫必須與文檔中的相應值匹配。
所以,對於如下的 CSS 和 HTML,元素不會變成粗體:
#intro {font-weight:bold;}
<p id="Intro">This is a paragraph of introduction.</p>
因爲字母 i 的大小寫不一樣,因此選擇器不會匹配上面的元素。