CSS屬性選擇器高級用法及選擇器優先級問題
來自: http://my.oschina.net/sallency/blog/605733
CSS選擇器之屬性選擇器
1:[attr] 存在此屬性即可
2:[attr = 'attr_value'] 屬性值為給定值即可
3:[attr ^= 'attr_value'] attr屬性鍵以container開頭 即便是字符串匹配
<style type="text/css">
div[data-type ^= 'container'] {
background-color : #000;
}
</style>
<div data-type="container master">
開頭存在 container 匹配成功
</div>
<div data-type="containernosensestr">
開頭存在 container 匹配成功
</div>
<div data-type="master container">
不在開頭 匹配失敗
</div> 4:[attr *= 'attr_value'] attr屬性鍵中存在給定的值即可 即便是字符串匹配
<style type="text/css">
div[data-type *= 'container'] {
background-color : #00f;
}
</style>
<div data-type="nosensestrcontainernosensestr">
只要鍵值中有給定的值即可匹配成功
</div> 5:[attr $= 'attr_value'] attr屬性鍵結尾匹配 即便是字符串匹配
<style type="text/css">
div[data-type $= 'container'] {
background-color : #0ff;
}
</style>
<div data-type="container master">
結尾不存在 失敗
</div>
<div data-type="nosensestrcontainer">
結尾存在 成功
</div>
<div data-type="master container">
結尾存在 成功
</div> 6:[attr ~= 'attr_value'] attr屬性鍵值以空格分隔 其中存在給定的值即可匹配成功
<style type="text/css">
div[data-type ~= 'container'] {
background-color : #f00;
}
</style>
<div data-type="container master">
空格拆分 存在container 匹配成功
</div>
<div data-type="containernosensestr">
不存在 失敗
</div>
<div data-type="master container">
空格拆分 存在container 匹配成功
</div> 7:[attr |= 'attr_value'] attr屬性鍵值以 "-" 分隔 且拆分得到的第一個值為給給定屬性值 匹配成功
<style type="text/css">
div[data-type |= 'container'] {
background-color : #f0f;
}
</style>
<div data-type="container-master">
-拆分 第一個值為container 匹配成功
</div>
<div data-type="containernosensestr">
不存在 失敗
</div>
<div data-type="master-container">
-拆分 第一個值不是container 匹配失敗
</div> CSS選擇器之優先級
ID選擇器 100 類選擇器 10 元素選擇器 1
大家都知道 內聯 > 內部 > 外部 而且樣式內外樣式表會因定義或引入的先后順序后者覆蓋前者
但樣式選擇器的優先級并不會因定義的先后順序而發生覆蓋
#container .article p {
background-color:#000;
font-size:14px;/* 無效 后面的 important 會優先于一切選擇器的定義*/
}
//并不能覆蓋前者 優先級低于前者
.article p {
background-color:#fff;
font-size:14px;/* 無效 后面的 important 會優先于一切選擇器的定義*/
}
//同上
p {
background-color:#ccc;
font-size:16px!important;/*important 會優先于一切選擇器的定義*/
} 但以上都會被指定為 important 屬性覆蓋掉
本文由用戶 jessie109 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!