摘要:相鄰兄弟選擇器也一樣。提示當時,會在除第一個之外的所有生效。在定義中,必須被置于之后,才是有效的。和稱為鏈接偽類,只能應用于錨元素和稱為動態偽類,理論上可以用于任何元素。注意,偽元素選擇器選擇出來的部分不在里,也不能對其綁定事件。
0. 通用選擇器
* { margin: 0; padding: 0; }1. 元素選擇器
p { line-height: 1.5em; } h2 { color: #696969; }2. id 和 類選擇器
#id .class
3. 關系選擇器A B:后代選擇器 (所有后代)
A > B:子選擇器(直接后代)
A + B:相鄰兄弟選擇器(AB為兄弟,僅緊鄰 A 的 B 生效)
A ~ B:一般兄弟選擇器(A 之后的所有 B 兄弟生效)
注意:子選擇器:IE 7 中如果父元素和子元素之間有 HTML 注釋,會出現問題。相鄰兄弟選擇器也一樣。
提示:當 li+li 時,會在除第一個 li 之外的所有 li 生效。
1、A[attr]:定位具有屬性 attr 的任何元素 A:
input[required] { border:1px solid #f00;} /* 必填屬性"required"的input */
2、A[attr="val"]:完全匹配,定位具有屬性 attr 且屬性值為 val 的任何元素 A:
input[type="password"] {border:1px solid #aaa;}
3、A[attr|="val"]:定位具有屬性 attr 且屬性值為 val,或以 "val-" 開頭 的任何元素 A:
p[class|="a"] {color:#333;} /* class="a" 以及 class="a-b") */
4、A[attr~="val"]:該選擇器定位具有屬性 attr 且屬性值為 完整 "val" 的任何元素 A:
div[title~="english"] {color:#f88;} /* title="english" 以及 title="chinese english" */
5、A[attr*="val"]:定位具有屬性 attr 且屬性值任意位置 包含 "val" 字符串 的元素 A,val 可以是一個完整的單詞,也可以是一個單詞中的一部分:
a[title*="link"] {text-decoration:underline;} /* title="aaalinkzzz" */
6、A[attr^="val"]:定位具有屬性 attr 且屬性值 以 "val" 開頭 的任何元素 A:
div[class^="a"] {color:#666;} /* class="a"、class="abc" 以及 class="abc zzz" */ /* 但 class="zzz abc" 不是 */
7、A[attr$=val]:該選擇器與 A[attr^=val] 正好相反,定位具有屬性 attr 且屬性值 以 "val" 結尾 的任何元素 A:
div[class$="a"] {color:#f00;} /* class="nba"、class="cba" 以及 class="cn cba" */ /* 但 class="cba cn" 不是 */
注意:IE6 不支持屬性選擇器。
5. 偽類 1、錨偽類a:link {color: red} /* 未訪問的鏈接 */ a:visited {color: green} /* 已訪問的鏈接 */ a:hover {color: blue} /* 鼠標移動到鏈接上 */ a:active {color: yellow} /* 選定的鏈接,鼠標左擊不放 */
提示
在 CSS 定義中,:hover 必須被置于 :link 和 :visited 之后,才是有效的。
在 CSS 定義中,:active 必須被置于 :hover 之后,才是有效的。
:link 和 :visited 稱為鏈接偽類,只能應用于錨元素;:hover、:active 和 :focus 稱為動態偽類,理論上可以用于任何元素。
2、偽類與 CSS 類偽類可以與 CSS 類配合使用:
a.red:visited {color:#FF0000;}3、:focus
:focus 向擁有鍵盤輸入焦點的元素添加樣式。
Any element (most commonly s and s) are in "focus" when they are selected and ready to enter text.
input:focus{ background-color:yellow; } textarea:focus { background: pink; }4、:first-child
p:first-child 匹配作為任何元素的第一個子
元素。
p>li:first-child 匹配所有
元素的第一
元素中的所有
提示: 另一種形式 p:nth-child(3) 匹配作為任何元素的第 3 個子
元素。
6. 偽元素偽元素可用于定位文檔中包含的文本,為與偽類進行區分,偽元素使用雙冒號 :: 定義,但單冒號 : 也能被識別。
1、::first-linep::first-line{ color: red; } /* 對 p 元素的第一行文本進行格式化 */
注意:::first-line 偽元素只能用于塊級元素。
可應用的屬性:
font properties、color properties、background properties、word-spacing、letter-spacing、text-decoration、vertical-align、text-transform、line-height、clear
p::first-letter { font-size:xx-large; } /* 向文本的首字母設置特殊樣式 */
注意:::first-letter 偽元素只能用于塊級元素。
可應用的屬性:
font properties、color properties、background properties、margin properties、padding properties、border properties、text-decoration、vertical-align (only if "float" is "none")、text-transform、line-height、float、clear
p.article:first-letter {color:#ff0000;}4、::before 與 ::after
常常使用 contnet 屬性生成額外的內容并插入在標記中:
a[href^=http]::after { content:"link" } /* 在頁面的a鏈接的后面插入文字link */ h1::before { content:url(hm.gif) } /* 在每個h1 前插入一幅圖片 */5、::selection
::selection { background:#444; color:#fff; } /* 定義選中的文本顏色與背景色 */擴展閱讀 偽類 vs 偽元素
偽類的效果可以通過添加一個實際的類來達到,而偽元素的效果則需要通過添加一個實際的元素才能達到,這也是為什么他們一個稱為偽類,一個稱為偽元素的原因。
注意,偽元素選擇器選擇出來的部分不在 DOM 里,也不能對其綁定事件。如果你對偽元素前面的選擇器定義的元素綁定了事件,偽元素同樣會生效。 永遠記得偽元素生成的是 表現。
偽類::active、:focus、:hover、:link、:visited、:first-child、:lang、:target
偽元素:::after、::before、::first-letter、::first-line、::selecton
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/111344.html
摘要:最基本的選擇器是元素選擇器比如選擇器比如還有類選擇器比如。選擇器和類選擇器在速度上的差異基本上沒有關系。現在我們回到討論開始的地方,哪類選擇器是最高效的哪個是會影響選擇器效率的關鍵選擇器寫代碼的時候,關鍵選擇器是能否高效的決定因素。 高效的CSS已經不是一個新的話題了,也不是我一個非得重拾的話題,但它卻是我在工作之時,所感興趣的,關注已久的話題。 有很多人都忘記了,或在簡單的說沒有意識...
摘要:最基本的選擇器是元素選擇器比如選擇器比如還有類選擇器比如。選擇器和類選擇器在速度上的差異基本上沒有關系。現在我們回到討論開始的地方,哪類選擇器是最高效的哪個是會影響選擇器效率的關鍵選擇器寫代碼的時候,關鍵選擇器是能否高效的決定因素。 高效的CSS已經不是一個新的話題了,也不是我一個非得重拾的話題,但它卻是我在工作之時,所感興趣的,關注已久的話題。 有很多人都忘記了,或在簡單的說沒有意識...
摘要:不要在編寫規則時用標簽名或類名不要在編寫規則時用標簽名把多層標簽選擇規則用規則替換,減少查找避免使用子選擇器后代選擇器在中是最昂貴的選擇器。如果你關心頁面性能的話,他們真不該被使用擴展閱讀前端面試題選擇器前端面試題優先級 一、CSS選擇符 CSS選擇符由一些初始化參數組成,這些參數指明了要應用這個CSS規則的頁面元素。 作為一個網站的前端開發工程師,應該避免編寫一些常見的開銷很大的CS...
摘要:不要在編寫規則時用標簽名或類名不要在編寫規則時用標簽名把多層標簽選擇規則用規則替換,減少查找避免使用子選擇器后代選擇器在中是最昂貴的選擇器。如果你關心頁面性能的話,他們真不該被使用擴展閱讀前端面試題選擇器前端面試題優先級 一、CSS選擇符 CSS選擇符由一些初始化參數組成,這些參數指明了要應用這個CSS規則的頁面元素。 作為一個網站的前端開發工程師,應該避免編寫一些常見的開銷很大的CS...
閱讀 2462·2021-11-23 09:51
閱讀 1872·2021-10-13 09:40
閱讀 1390·2021-09-30 10:01
閱讀 596·2021-09-26 09:46
閱讀 2256·2021-09-23 11:55
閱讀 1400·2021-09-10 10:51
閱讀 2265·2021-09-09 09:33
閱讀 2234·2019-08-29 17:25