CSS屬性選擇器

CSS選擇器主要分為五大類:元素選擇器,關系選擇器,屬性選擇器,偽類選擇器和偽元素選擇器。平時用的最多的是元素選擇器和關系選擇器,而本文主要講講用得比較少的屬性選擇器。

首先亮出本文通用的例子:

<!--html-->
<p name="zhangsan">張三(zhangsan)</p>
<p name="liusanjie">劉三姐(liusanjie)</p>
<p name="zhang-ming">張明(zhang-ming)</p>
<p name="lisan">黎三(lisan)</p>
<p name="sandy lisan">李三(sandy lisan)</p>
<p>無名氏</p>

接下來分別舉例講講七大屬性選擇器。

一、E[att],篩選具有att屬性的元素

css代碼:

p[name]{ color: #f00;}

顯示結果:


p[name]

可以看出,只要具有name屬性的元素都會被篩選出來,而不具有name屬性的“無名氏”顏色沒有變化。

二、E[att="val"],篩選att屬性值為val的元素

css代碼:

p[name="lisan"]{ color: #f00;}

顯示結果:


p[name="lisan"]

可以看出,只要name屬性值為“lisan”的元素都會被篩選出來,而name屬性為“sandy lisan”的元素并不會被篩選。

三、E[att~="val"],屬性值為用空格分隔的字詞列表,其中一個等于val的元素(包含只有一個值且該值等于val的情況)

css代碼:

p[name~=lisan]{ color: #f00;}

顯示結果:


p[name~=lisan]

可以看出,除了可以篩選出name屬性值為“lisan”的元素,name屬性值為“sandy lisan”的元素同樣也會被篩選出來。

四、E[att^="val"],篩選att屬性值以val開頭的元素

css代碼:

p[name^=zhang]{ color: #f00;}

顯示結果:


p[name^=zhang]

可以看出,只要是name屬性值以“zhang”開頭的元素都會被篩選出來。

五、E[att$="val"],篩選att屬性值以val結尾的元素

css代碼:

p[name$=san]{ color: #f00;}

顯示結果:


p[name$=san]

可以看出,只要是name屬性值以“san”結尾的元素都會被篩選出來。

六、E[att*="val"],篩選att屬性值中包含val的元素

css代碼:

p[name*=san]{ color: #f00;}

顯示結果:


p[name*=san]

可以看出,只要是name屬性值中包含“san”的元素都會被篩選出來。

七、E[att|="val"],篩選att屬性值以val開頭并且其后緊跟著 “-” 的元素

css代碼:

p[name|=zhang]{ color: #f00;}

顯示結果:


p[name|=zhang]

可以看出,只要是name屬性值以“zhang”開頭并且其后緊跟著 “-” 的元素都會被篩選出來,所以只有“張明”顏色變紅,而“張三”顏色不變。

兼容性:以上七個屬性選擇器均兼容主流瀏覽器,IE兼容到IE7,可以放心使用。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • E[foo]:所有包含foo屬性的E元素; E[foo=bar]: 屬性foo值為bar的所有E元素; E[foo...
    雷谷閱讀 516評論 0 0
  • 可以為擁有指定屬性的 HTML 元素設置樣式,而不僅限于 class 和 id 屬性。CSS 選擇器參考手冊:[a...
    青春前行閱讀 210評論 0 0
  • 選擇器 元素選擇符 關系選擇符 屬性選擇符 偽類選擇符 偽對象選擇符 一、元素選擇符 通配選擇符 (*):選擇所有...
    云外之境閱讀 1,912評論 0 0
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,807評論 1 92
  • 插入樣式的三種方法 內聯樣式表(行內) 內部樣式表(style中) 外部樣式表創建一個外部樣式表在head中使用l...
    Zd_silent閱讀 269評論 0 0