CSS 屬性選擇器講解

      網友投稿 901 2025-04-04

      一、導語

      自CSS 2 引入了屬性選擇器,屬性選擇器可以根據元素的屬性及屬性值來選擇元素。

      二、簡單屬性選擇器

      如果希望選擇有某個屬性的元素,而不論屬性值是什么,可以使用簡單屬性選擇器。

      下面的例子是把包含標題(title)的所有元素變為藍色:

      [title] { color:blue; }

      如果希望把包含標題(title)的所有元素變為紅色,可以寫作:

      *[title] {color:red;}

      與上面類似,可以只對有 href 屬性的錨(a 元素)應用樣式:

      a[href] {color:red;}

      此外,還可以根據多個屬性進行選擇,只需將屬性選擇器鏈接在一起即可。

      例如,為了將同時有 href 和 title 屬性的 HTML 超鏈接的文本設置為紅色,可以這樣寫:

      a[href][title] {color:red;}

      三、屬性和值選擇器

      除了選擇擁有某些屬性的元素,還可以進一步縮小選擇范圍,只選擇有特定屬性值的元素。

      例如,假設希望將指向 Web 服務器上某個指定文檔的超鏈接變成紅色,可以這樣寫:

      a[] {color: red;}

      四、屬性和值的選擇器 - 多值

      與簡單屬性選擇器類似,可以把多個屬性-值選擇器鏈接在一起來選擇一個文檔。

      a[] {color: red;}

      這會把以下標記中的第一個超鏈接的文本變為紅色,但是第二個或第三個鏈接不受影響:

      W3School CSS HTML

      4.1 屬性與屬性值必須完全匹配

      請注意,這種格式要求必須與屬性值完全匹配。

      如果屬性值包含用空格分隔的值列表,匹配就可能出問題。

      請考慮一下的標記片段:

      This paragraph is a very important warning.

      如果寫成 p[class="important"],那么這個規則不能匹配示例標記。

      要根據具體屬性值來選擇該元素,必須這樣寫:

      p[class="important warning"] {color: red;}

      4.2 根據部分屬性值選擇

      如果需要根據屬性值中的詞列表的某個詞進行選擇,則需要使用波浪號(~)。

      假設您想選擇 class 屬性中包含 important 的元素,可以用下面這個選擇器做到這一點:

      p[class~="important"] {color: red;}

      如果忽略了波浪號,則說明需要完成完全值匹配。

      4.3 部分值屬性選擇器與點號類名記法的區別

      該選擇器等價于我們在類選擇器中討論過的點號類名記法。

      也就是說,p.important 和 p[class="important"] 應用到 HTML 文檔時是等價的。

      那么,為什么還要有 “~=” 屬性選擇器呢?因為它能用于任何屬性,而不只是 class。

      例如,存在一個包含大量圖像的文檔,其中只有一部分是圖片。對此,可以使用一個基于 title 文檔的部分屬性選擇器,只選擇這些圖片:

      img[title~="Figure"] {border: 1px solid gray;}

      這個規則會選擇 title 文本包含 “Figure” 的所有圖像。沒有 title 屬性或者 title 屬性中不包含 “Figure” 的圖像都不會匹配。

      五、子串匹配屬性選擇器

      以上為基本的屬性選擇器介紹,下面介紹一個更高級的選擇器模塊,它是 CSS2 完成之后發布的,其中包含了更多的部分值屬性選擇器。按照規范的說法,應該稱之為“子串匹配屬性選擇器”。

      很多現代瀏覽器都支持這些選擇器,包括 IE7。

      下表是對這些選擇器的簡單總結:

      可以想到,這些選擇有很多用途。

      舉例來說,如果希望對指向 https://shq5785.blog.csdn.net/所有鏈接應用樣式,不必再為所有這些鏈接指定 class,而只需編寫以下規則:

      a[href*="https://shq5785.blog.csdn.net/"] {color: red;}

      CSS 屬性選擇器講解

      六、特定屬性選擇類型

      請看下面的例子:

      *[lang|="en"] {color: red;}

      上面的規則會選擇 lang 屬性等于 en 或以 en- 開頭的所有元素。因此,以下示例標記中的前三個元素將被選中,而不會選擇后兩個元素:

      Hello!

      Greetings!

      G'day!

      Bonjour!

      Jrooana!

      一般來說,[att|="val"] 可以用于任何屬性及其值。

      假設一個 HTML 文檔中有一系列圖片,其中每個圖片的文件名都形如 figure-1.jpg 和 figure-2.jpg。就可以使用以下選擇器匹配所有這些圖像:

      img[src|="figure"] {border: 1px solid gray;}

      七、表單樣式

      屬性選擇器樣式無需使用class或id的形式:

      input[type="text"] { width:150px; display:block; margin-bottom:10px; background-color:yellow; } input[type="button"] { width:120px; margin-left:35px; display:block; }

      注1:IE7和IE8需聲明!DOCTYPE才支持屬性選擇器!IE6和更低的版本不支持屬性選擇器。

      注2: 基本選擇器(標簽、id、class)的優先級

      style > id選擇器 > class選擇器 > 標簽選擇器

      注3:

      CSS HTML

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Excel組合圖
      下一篇:像這個情況,我要把沒有規律的重復項(H列單元格數據),在它面前加序列號(類似G列單元格),該怎么操作
      相關文章
      亚洲AV无码不卡在线播放| 亚洲综合伊人久久综合| 在线免费观看亚洲| 亚洲视频.com| 亚洲AV乱码久久精品蜜桃| 亚洲AV天天做在线观看| 亚洲国产综合91精品麻豆| 亚洲日本精品一区二区| 亚洲视频在线观看不卡| 91亚洲精品麻豆| 亚洲综合伊人制服丝袜美腿| 亚洲中文字幕无码爆乳app| 亚洲日韩精品无码专区加勒比☆| 亚洲私人无码综合久久网| 亚洲jizzjizz少妇| 国产精品亚洲va在线观看| 亚洲国产专区一区| 在线亚洲精品自拍| 亚洲成AV人在线播放无码| 亚洲一区二区三区高清| 亚洲国产成人精品青青草原| 亚洲不卡中文字幕| 亚洲欧美日韩综合久久久| 风间由美在线亚洲一区| 亚洲人成人网站在线观看| 国产亚洲精品看片在线观看| 亚洲国产精品无码AAA片| 亚洲第一精品在线视频| 亚洲女人18毛片水真多| 亚洲制服丝袜精品久久| 亚洲色大网站WWW永久网站| 久久久久亚洲精品无码网址色欲| 亚洲成av人片不卡无码久久| 区久久AAA片69亚洲| 久久精品视频亚洲| 亚洲国产日韩在线成人蜜芽| 亚洲人成网站免费播放| 亚洲国产精品狼友中文久久久| 亚洲欧洲∨国产一区二区三区| 亚洲最大福利视频网站| 亚洲日本va在线观看|