選擇就是CSS定義的第一部分,能夠用面向對象的模式來理解,或者聲明式的面向對象。css
標準選擇:編程
#.Espa
進階選擇:「,」分隔多個相同項,至關於類的實例。 如:#btn1,#btn2,.btn {...}ssr
後代元素選擇,至關於子類:對象
空格分隔: .nav p {...} #header .nav span {...}get
子類在DOM中,是沒有層級的。input
子元素選擇,只選一級, >it
例如: nav > p {...}table
相鄰選擇使用+,如h1 + p {margin-top:50px;}class
屬性選擇器:按屬性選擇:[屬性=值]
例如:input[type=text]
以上選擇器,能夠作And運算,就是結合起來使用
可見,CSS選擇器,和Sql語言也很類似了。是聲明式的。屬性選擇器還有更多的條件,但不多被使用(固然若是用來作應用,或許能派上大用場)
CSS媒體查詢,也是相似Sql的查詢,原理是同樣同樣的。
W3C:"W3C" 列指示出該屬性在哪一個 CSS 版本中定義(CSS1 仍是 CSS2)。
屬性 | 描述 | CSS |
---|---|---|
:active | 向被激活的元素添加樣式。 | 1 |
:focus | 向擁有鍵盤輸入焦點的元素添加樣式。 | 2 |
:hover | 當鼠標懸浮在元素上方時,向元素添加樣式。 | 1 |
:link | 向未被訪問的連接添加樣式。 | 1 |
:visited | 向已被訪問的連接添加樣式。 | 1 |
:first-child | 向元素的第一個子元素添加樣式。 | 2 |
:lang | 向帶有指定 lang 屬性的元素添加樣式。 |
更多的僞類,其實原理就是從Dom中查找某些特定的節點以代替編程,好比找第一個子,最後一個子,交替查找子,找爲空的等等,總之,CSS選擇器,就是類Sql的一個聲明式編程。