css 選擇器:常用的選擇器有基本選擇器、分組選擇器、組合器和偽選擇器
小程序所支持的選擇器如下:
注意小程序不支持常用的通配符*,也就是通用選擇器因此需要一個一個元素進行初始化
其中常用的有基本選擇器和分組選擇器
一、基本選擇器:包括通用選擇器、元素選擇器、類選擇器、ID選擇器和屬性選擇器
1、通用選擇器(Universal selector)(*)
選擇所有元素。(可選)可以將其限制為特定的名稱空間或所有名稱空間。
語法:* ns|* *|*
例子:* 將匹配文檔的所有元素。
2、元素選擇器(Type selector)(標簽名)
按照給定的節點名稱,選擇所有匹配的元素。
語法:elementname
例子:input 匹配任何 <input> 元素。
3、類選擇器(Class selector)(.)
按照給定的 class 屬性的值,選擇所有匹配的元素。
語法:.classname
例子:.index 匹配任何 class 屬性中含有 "index" 類的元素。
4、ID 選擇器(ID selector) (#)
按照 id 屬性選擇一個與之匹配的元素。需要注意的是,一個文檔中,每個 ID 屬性都應當是唯一的。
語法:#idname
例子:#toc 匹配 ID 為 "toc" 的元素。
5、屬性選擇器(Attribute selector)
按照給定的屬性,選擇所有匹配的元素。
語法:[attr] [attr=value] [attr~=value] [attr|=value] [attr^=value] [attr$=value] [attr*=value]
例子:[autoplay] 選擇所有具有 autoplay 屬性的元素(不論這個屬性的值是什么)。
6、選擇器列表(Selector list)(,)
, 是將不同的選擇器組合在一起的方法,它選擇所有能被列表中的任意一個選擇器選中的節點。
語法:A, B
示例:div, span 會同時匹配 <span> 元素和 <div> 元素。
其中還有嵌套選擇器
嵌套選擇器:它可能適用於選擇器內部的選擇器的樣式。
view{ }: 為所有 view 元素指定一個樣式。 .marked{ }: 為所有 class="marked" 的元素指定一個樣式。 .marked text{ }: 為所有 class="marked" 元素內的 text元素指定一個樣式。 view.marked{ }: 為所有 class="marked" 的 view 元素指定一個樣式 view.marked text{ }: 為所有view元素內 class="marked" 的 view 元素內的 text元素指定一個樣式指定一個樣式
7、后代組合器(Descendant combinator)( )
(空格)組合器選擇前一個元素的后代節點。
語法:A B
例子:div span 匹配所有位於任意 <div> 元素之內的 <span> 元素。
8、直接子代組合器(Child combinator)(>)
> 組合器選擇前一個元素的直接子代的節點。
語法:A > B
例子:ul > li 匹配直接嵌套在 <ul> 元素內的所有 <li> 元素。
9、一般兄弟組合器(General sibling combinator)(~)
~ 組合器選擇兄弟元素,也就是說,后一個節點在前一個節點后面的任意位置,並且共享同一個父節點。
語法:A ~ B
例子:p ~ span 匹配同一父元素下,<p> 元素后的所有 <span> 元素。
10、緊鄰兄弟組合器(Adjacent sibling combinator)(+)
+ 組合器選擇相鄰元素,即后一個元素緊跟在前一個之后,並且共享同一個父節點。
語法:A + B
例子:h2 + p 會匹配所有緊鄰在 <h2> 元素后的 <p> 元素。
11、列組合器(Column combinator)(||)
|| 組合器選擇屬於某個表格行的節點。
語法: A || B
例子: col || td 會匹配所有 <col> 作用域內的 <td> 元素。
12、偽類 (:)
: 偽選擇器支持按照未被包含在文檔樹中的狀態信息來選擇元素。
例子:a:visited 匹配所有曾被訪問過的 <a> 元素。
13、偽元素 (::)
:: 偽選擇器用於表示無法用 HTML 語義表達的實體。
例子:p::first-line 匹配所有 <p> 元素的第一行。