2.5類選擇器
類選擇器翎碑,是對HTML標簽中class屬性進行選擇。CSS類選擇器的選擇符是 "."例如:.demo { color:red;}標簽可以包含多個類選擇器吠裆,在class標簽中用空格隔開。例如:html:
類標簽選擇器抵恋,傳智前端學院
css:? .demo { color: red; }
2.6CSS復合選擇器
復合選擇器是由兩個或多個基礎選擇器纲菌,通過不同的方式組合而成的
2.6.1標簽指定式選擇器(即....又....)
標簽指定式選擇器又稱交集選擇器挠日,由兩個選擇器構成,其中第一個為標記選擇器驰后,第二個為class選擇器或id選擇器肆资,兩個選擇器之間不能有空格,如h3.special或p#one
2.6.2后代選擇器(包含選擇器)
后代選擇器用來選擇元素或元素組的后代灶芝,其寫法就是把外層標記寫在前面郑原,內層標記寫在后面,中間用空格分隔夜涕。當標記發(fā)生嵌套時犯犁,內層標記就成為外層標記的后代 如:.class h3{}
2.6.3并集選擇器
并集選擇器是各個選擇器通過逗號連接而成的,任何形式的選擇器(包括標記選擇器女器、class類選擇器id選擇器等)酸役,都可以作為并集選擇器的一部分。.class,h3{}
2.6.4子元素選擇器
子代選擇器驾胆,是讓CSS選擇器智能選擇兒子輩的元素涣澡。
例如:h1 > strong {color:red;}
解讀為:選擇器 h1 > strong 可以解釋為“選擇作為 h1 元素子元素的所有 strong 元素”。
尖括號和選擇器之間可以有空格也可以沒有丧诺,沒有限制入桂。
2.7屬性選擇器
---h1[class]{ color:red;}選擇所有擁有class屬性的h1標簽
h1[class][id]{color:red;}
---p[id="aside"]{color:red;}根據(jù)屬性名相等選擇
---p[class~="a"]{color:rd;}
只要包含屬性,就被選擇驳阎。ie6不支持
---E[att^="val"] { sRules }
E[att$="val"] { sRules }
選擇具有att屬性且屬性值為以val開頭(結尾)的字符串的E元素
---E[att*="val"] { sRules }
選擇具有att屬性且屬性值為包含val的字符串的E元素抗愁。
2.8CSS偽類 偽元素
狀態(tài)是動態(tài)變化的,當一個元素達到一個特定狀態(tài)時呵晚,它可能得到一個樣式蜘腌,當狀態(tài)改變時,又失去這個樣式饵隙。
它的功能和class有些類似撮珠,但它是基于文檔之外的抽象,所以叫偽類
CSS偽類
:link
偽類將應用于未被訪問過的鏈接金矛。IE6不兼容劫瞳,解決此問題,直接使用a標簽绷柒。
:hover
偽類將應用于有鼠標指針懸停于其上的元素志于。在IE6只能應用于a連接,IE7+所有元素都兼容废睦。
:active
偽類將應用于被激活的元素伺绽,如被點擊的鏈接、被按下的按鈕等。
:visited
偽類將應用于已經(jīng)被訪問過的鏈接
:focus
偽類將應用于擁有鍵盤輸入焦點的元素奈应。
順序問題:LoVe? HAte原則澜掩。
2.9CSS偽元素
偽元素 是控制內容
:first-line 偽元素
:first-letter 偽元素
注釋:以上兩個偽元素只能用于塊級元素
:first-child 偽元素,選擇屬于第一個子元素的元素杖挣。
例如:span:first-child{}? /*選擇屬于第一個子元素的所有span標簽肩榕。*/
:before與:after偽元素,可以設置元素之前后之后的 內容惩妇,并且配合content設置相關內容株汉。比如:? #demo:after,#demo:before {? content:"--";display:block; }
3.1CSS層疊性和繼承性
3.1層疊性
所謂層疊性是指多種CSS樣式的疊加。例如歌殃,當使用內嵌式CSS樣式表定義
標記字號大小為12像素乔妈,鏈入式定義
標記顏色為紅色,那么段落文本將顯示為12像素紅色氓皱,即這兩種樣式產(chǎn)生了疊加路召。
3.2繼承性(子承父業(yè))
所謂繼承性是指書寫CSS樣式表時,子標記會繼承父標記的某些樣式波材,如文本顏色和字號股淡。想要設置一個可繼承的屬性,只需將它應用于父元素即可
--所有字相關的都可以繼承廷区,比如:color揣非、text-系列、font-系列躲因、line-系列、cursor
--并不是所有的CSS屬性都可以繼承忌傻,例如大脉,下面的屬性就不具有繼承性:邊框、外邊距水孩、內邊距镰矿、背景、定位俘种、元素寬高屬性秤标。
---所有盒子相關的屬性都不能繼承。
3.3CSS的優(yōu)先級
內聯(lián)樣式最大宙刘,內聯(lián)樣式的優(yōu)先級最高苍姜。
ID選擇器的優(yōu)先級,僅次于內聯(lián)樣式悬包。
類選擇器優(yōu)先級低于ID選擇器
標簽選擇器低于類選擇器衙猪。
256個標簽選擇器相加 大于 一個類選擇器
256個類選擇器相加 大于 一個ID選擇器
定義CSS樣式時,經(jīng)常出現(xiàn)兩個或更多規(guī)則應用在同一元素上,這時就會出現(xiàn)優(yōu)先級的問題垫释。
在考慮權重時丝格,初學者還需要注意一些特殊的情況,具體如下:
繼承樣式的權重為0棵譬。即在嵌套結構中显蝌,不管父元素樣式的權重多大,被子元素繼承時订咸,他的權重都為0曼尊,也就是說子元素定義的樣式會覆蓋繼承來的樣式。
行內樣式優(yōu)先算谈。應用style屬性的元素涩禀,其行內樣式的權重非常高,可以理解為遠大于100然眼“總之,他擁有比上面提高的選擇器都大的優(yōu)先級高每。
權重相同時屿岂,CSS遵循就近原則。也就是說靠近元素的樣式具有最大的優(yōu)先級鲸匿,或者說排在最后的樣式優(yōu)先級最大爷怀。
所有都相同時,聲明靠后的優(yōu)先級大带欢。
CSS定義了一個!important命令运授,該命令被賦予最大的優(yōu)先級。也就是說不管權重如何以及樣式位置的遠近乔煞,!important都具有最大優(yōu)先級吁朦。
綜述:
行內樣式 > 頁內樣式 > 外部引用樣式 > 瀏覽器默認樣式
important > 內聯(lián) > ID > 偽類|類 | 屬性選擇? > 標簽? > 偽對象 >? 通配符 > 繼承