30個(gè)最常用css選擇器解析.doc_第1頁(yè)
30個(gè)最常用css選擇器解析.doc_第2頁(yè)
30個(gè)最常用css選擇器解析.doc_第3頁(yè)
30個(gè)最常用css選擇器解析.doc_第4頁(yè)
30個(gè)最常用css選擇器解析.doc_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

30個(gè)最常用css選擇器解析作者:iiduce文章來(lái)源:點(diǎn)擊數(shù):835更新時(shí)間:2011-7-31 你也許已經(jīng)掌握了id、class、后臺(tái)選擇器這些基本的css選擇器。但這遠(yuǎn)遠(yuǎn)不是css的全部。下面向大家系統(tǒng)的解析css中30個(gè)最常用的選擇器,包括我們最頭痛的瀏覽器兼容性問(wèn)題。掌握了它們,才能真正領(lǐng)略css的巨大靈活性。1. 以下是代碼片段:* margin:0; padding:0; 星狀選擇符會(huì)在頁(yè)面上的每一個(gè)元素上起作用。web設(shè)計(jì)者經(jīng)常用它將頁(yè)面中所有元素的margin和padding設(shè)置為0。 *選擇符也可以在子選擇器中使用。以下是代碼片段:#container* border:1pxsolidblack; 上面的代碼中會(huì)應(yīng)用于id為container元素的所有子元素中。 除非必要,我不建議在頁(yè)面中過(guò)的的使用星狀選擇符,因?yàn)樗淖饔糜蛱?,相?dāng)耗瀏覽器資源。 兼容瀏覽器:IE6+、Firefox、Chrome、Safari、Opera2. #X以下是代碼片段:#container width:960px; margin:auto; 井號(hào)作用域有相應(yīng)id的元素。id是我們最常用的css選擇器之一。id選擇器的優(yōu)勢(shì)是精準(zhǔn),高優(yōu)先級(jí)(優(yōu)先級(jí)基數(shù)為100,遠(yuǎn)高于class的10),作為javascript腳本鉤子的不二選擇,同樣缺點(diǎn)也很明顯優(yōu)先級(jí)過(guò)高,重用性差,所以在使用id選擇器前,我們最好問(wèn)下自己,真的到了非用id選擇器的地步?兼容瀏覽器:IE6+、Firefox、Chrome、Safari、Opera3. .X以下是代碼片段:.error color:red; 這是一個(gè)class(類(lèi))選擇器。class選擇器與id選擇器的不同是class選擇器能作用于期望樣式化的一組元素。 兼容瀏覽器:IE6+、Firefox、Chrome、Safari、Opera4. X Y以下是代碼片段:lia text-decoration:none; 這也是我們最常用的一種選擇器后代選擇器。用于選取X元素下子元素Y,要留意的點(diǎn)是,這種方式的選擇器將選取其下所有匹配的子元素,無(wú)視層級(jí),所以有的情況是不宜使用的,比如上述的代碼去掉li下的所有a的下劃線,但li里面還有個(gè)ul,我不希望ul下的li的a去掉下劃線。使用此后代選擇器的時(shí)候要考慮是否希望某樣式對(duì)所有子孫元素都起作用。這種后代選擇器還有個(gè)作用,就是創(chuàng)建類(lèi)似命名空間的作用。比如上述代碼樣式的作用域明顯為li。 兼容瀏覽器:IE6+、Firefox、Chrome、Safari、Opera5. X以下是代碼片段:acolor:red; ulmargin-left:0; 標(biāo)簽選擇器。使用標(biāo)簽選擇器作用于作用域范圍內(nèi)的所有對(duì)應(yīng)標(biāo)簽。優(yōu)先級(jí)僅僅比*高。 兼容瀏覽器:IE6+、Firefox、Chrome、Safari、Opera6. X:visited和X:link以下是代碼片段:a:linkcolor:red; a:vistedcolor:purple; 使用:link偽類(lèi)作用于未點(diǎn)擊過(guò)的鏈接標(biāo)簽。:hover偽類(lèi)作用于點(diǎn)擊過(guò)的鏈接。 兼容瀏覽器:IE7+、Firefox、Chrome、Safari、Opera7. X+Y以下是代碼片段:ul+p color:red; 相鄰選擇器,上述代碼中就會(huì)匹配在ul后面的第一個(gè)p,將段落內(nèi)的文字顏色設(shè)置為紅色。(只匹配第一個(gè)元素) 兼容瀏覽器:IE7+、Firefox、Chrome、Safari、Opera8. XY以下是代碼片段:div#containerul border:1pxsolidblack; ListItem Child ListItem ListItem ListItem 子選擇器。與后代選擇器X Y不同的是,子選擇器只對(duì)X下的直接子級(jí)Y起作用。在上面的css和html例子中,div#containerul僅對(duì)container中最近一級(jí)的ul起作用。從理論上來(lái)講X Y是值得提倡選擇器,可惜IE6不支持。 兼容瀏覽器:IE7+、Firefox、Chrome、Safari、Opera9. X Y以下是代碼片段:ulp color:red; 相鄰選擇器,與前面提到的X+Y不同的是,XY匹配與X相同級(jí)別的所有Y元素,而X+Y只匹配第一個(gè)。 兼容瀏覽器:IE7+、Firefox、Chrome、Safari、Opera10. Xtitle以下是代碼片段:atitle color:green; 屬性選擇器。比如上述代碼匹配的是帶有title屬性的鏈接元素。 兼容瀏覽器:IE7+、Firefox、Chrome、Safari、Opera11. Xtitle=foo以下是代碼片段:ahref= color:#1f6053; 屬性選擇器。 上面的代碼匹配所有擁有href屬性,且href為的所有鏈接。 這個(gè)功能很好,但是多少又有些局限。如果我們希望匹配href包含的所有鏈接該怎么做呢?看下一個(gè)選擇器。 兼容瀏覽器:IE7+、Firefox、Chrome、Safari、Opera12. Xtitle*=以下是代碼片段:ahref*= color:#1f6053; 屬性選擇器。正如我們想要的,上面代碼匹配的是href中包含的所有鏈接。 兼容瀏覽器:IE7+、Firefox、Chrome、Safari、Opera13. Xhref=http以下是代碼片段:ahref=http background:url(path/to/external/icon.png)no-repeat; padding-left:10px; 屬性選擇器。上面代碼匹配的是href中所有以http開(kāi)頭的鏈接。 兼容瀏覽器:IE7+、Firefox、Chrome、Safari、Opera13. Xhref$=.jpg以下是代碼片段:ahref=http background:url(path/to/external/icon.png)no-repeat; padding-left:10px; 屬性選擇器。在屬性選擇器中使用$,用于匹配結(jié)尾為特定字符串的元素。在上面代碼中匹配的是所有鏈接到擴(kuò)展名為.jpg圖片的鏈接。(注意,這里僅僅是.jpg圖片,如果要作用于所有圖片鏈接該怎么做呢,看下一個(gè)選擇器。) 兼容瀏覽器:IE7+、Firefox、Chrome、Safari、Opera14. Xdata-*=foo 在上一個(gè)選擇器中提到如何匹配所有圖片鏈接。如果使用Xhref$=.jpg實(shí)現(xiàn),需要這樣做:以下是代碼片段:ahref$=.jpg, ahref$=.jpeg, ahref$=.png, ahref$=.gif color:red; 看上去比較麻煩。另一個(gè)解決辦法是為所有的圖片鏈接加一個(gè)特定的屬性,例如data-file html代碼如下:以下是代碼片段:圖片鏈接 css代碼如下:以下是代碼片段:adata-filetype=image color:red; 這樣所有鏈接到圖片的鏈接字體顏色為紅色。 兼容瀏覽器:IE7+、Firefox、Chrome、Safari、Opera15. Xfoo=bar 屬性選擇器。屬性選擇器中的波浪線符號(hào)可以讓我們匹配屬性值中用空格分隔的多個(gè)值中的一個(gè)。看下面例子: html代碼如下:以下是代碼片段:ClickMe,Fool css代碼如下:以下是代碼片段:adata-info=external color:red; adata-info=image border:1pxsolidblack; 在上面例子中,匹配data-info屬性中包含“external”鏈接的字體顏色為紅色。匹配data-info屬性中包含“image”的鏈接設(shè)置黑色邊框。 兼容瀏覽器:IE7+、Firefox、Chrome、Safari、Opera17. X:checked checked偽類(lèi)用來(lái)匹配處于選定狀態(tài)的界面元素,如radio、checkbox。以下是代碼片段:inputtype=radio:checked border:1pxsolidblack; 上面代碼中匹配的是所有處于選定狀態(tài)的單選radio,設(shè)置1px的黑色邊框。 兼容瀏覽器:IE9+、Firefox、Chrome、Safari、Opera18. X:after和X:before 這兩個(gè)偽類(lèi)與content結(jié)合用于在元素的前面或者后面追加內(nèi)容,看一個(gè)簡(jiǎn)單的例子:以下是代碼片段:h1:aftercontent:url(/i/logo.gif) 上面的代碼實(shí)現(xiàn)了在h1標(biāo)題的后面顯示一張圖片。 我們也經(jīng)常用它來(lái)實(shí)現(xiàn)清除浮動(dòng),寫(xiě)法如下:以下是代碼片段:.clearfix:after content:; display:block; clear:both; visibility:hidden; font-size:0; height:0; .clearfix *display:inline-block; _height:1%; 19. X:hover以下是代碼片段:div:hover background:#e3e3e3; :hover偽類(lèi)設(shè)定當(dāng)鼠標(biāo)劃過(guò)時(shí)元素的樣式。上面代碼中設(shè)定了div劃過(guò)時(shí)的背景色。 需要注意的是,在ie 6中,:hover只能用于鏈接元素。 這里分享一個(gè)經(jīng)驗(yàn),在設(shè)定鏈接劃過(guò)時(shí)出現(xiàn)下滑線時(shí),使用border-bottom會(huì)比text-decoration顯得更漂亮些。代碼如下:以下是代碼片段:a:hover border-bottom:1pxsolidblack; 兼容瀏覽器:IE6+、Firefox、Chrome、Safari、Opera20. X:not(selector)以下是代碼片段:div:not(#container) color:blue; 否定偽類(lèi)選擇器用來(lái)在匹配元素時(shí)排除某些元素。在上面的例子中,設(shè)定除了id為container的div元素字體顏色為blue。 兼容瀏覽器:IE9+、Firefox、Chrome、Safari、Opera21. X:pseudoElement :偽類(lèi)用于給元素片段添加樣式。比如一個(gè)段落的第一個(gè)字母或者第一行。需要注意的是,這個(gè):偽類(lèi)只能用于塊狀元素。 下面的代碼設(shè)定了段落中第一個(gè)字母的樣式:以下是代碼片段:p:first-letter float:left; font-size:2em; font-weight:bold; font-family:cursive; padding-right:2px; 下面的代碼中設(shè)定了段落中第一行的樣式:以下是代碼片段:p:first-line font-weight:bold; font-size:1.2em; 兼容瀏覽器:IE6+、Firefox、Chrome、Safari、Opera (IE6竟然支持,有些意外啊。)22. X:nth-child(n)以下是代碼片段:li:nth-child(3) color:red; 這個(gè)偽類(lèi)用于設(shè)定一個(gè)序列元素(比如li、tr)中的第n個(gè)元素(從1開(kāi)始算起)的樣式。在上面例子中,設(shè)定第三個(gè)列表元素li的字體顏色為紅色。 看一個(gè)更靈活的用法,在下面例子中設(shè)定第偶數(shù)個(gè)元素的樣式,可以用它來(lái)實(shí)現(xiàn)隔行換色:以下是代碼片段:tr:nth-child(2n) background-color:gray; 兼容瀏覽器:IE9+、Firefox、Chrome、Safari23. X:nth-last-child(n)以下是代碼片段:li:nth-last-child(2) color:red; 與X:nth-child(n)功能類(lèi)似,不同的是它從一個(gè)序列的最后一個(gè)元素開(kāi)始算起。上面例子中設(shè)定倒數(shù)第二個(gè)列表元素的字體顏色。 兼容瀏覽器:IE9+、Firefox、Chrome、Safari、Opera24. X:nth-of-type(n)以下是代碼片段:ul:nth-of-type(3) border:1pxsolidblack; 與X:nth-child(n)功能類(lèi)似,不同的是它匹配的不是某個(gè)序列元素,而是元素類(lèi)型。例如上面的代碼設(shè)置頁(yè)面中出現(xiàn)的第三個(gè)無(wú)序列表ul的邊框。 兼容瀏覽器:IE9+、Firefox、Chrome、Safari25. X:nth-last-of-type(n)以下是代碼片段:ul:nth-last-of-type(3) border:1pxsolidblack; 與X:nth-of-type(n)功能類(lèi)似,不同的是它從元素最后一次出現(xiàn)開(kāi)始算起。上面例子中設(shè)定倒數(shù)第三個(gè)無(wú)序列表的邊框 兼容瀏覽器:IE9+、Firefox、Chrome、Safari、Opera26. X:first-child :first-child偽類(lèi)用于匹配一個(gè)序列的第一個(gè)元素。我們經(jīng)常用它來(lái)實(shí)現(xiàn)一個(gè)序列的第一個(gè)元素或最后一個(gè)元素的上(下)邊框,如:以下是代碼片段:ul:nth-last-of-type(3) border:1pxsolidblack; 兼容瀏覽器:IE7+、Firefox、Chrome、Safari、Opera27. X:last-child以下是代碼片段:ulli:last-child border-bottom:none; 與:first-child類(lèi)似,它匹配的是序列中的最后一個(gè)元素。 兼容瀏覽器:IE9+、Firefox、Chrome、Safari、Opera28. X:only-child以下是代碼片段:divp:only-child color:red; 這個(gè)偽類(lèi)用的比較少。在上面例子中匹配的是div下有且僅有一個(gè)的p,也就是說(shuō),如果div內(nèi)有多個(gè)p,將不匹配。以下是代碼片段:Myparagraphhere. Twoparagraphstotal. Twoparagraphstotal. 在上面代碼中第一個(gè)div中的段落p將會(huì)被匹配,而第二個(gè)div中的p則不會(huì)。 兼容瀏覽器:IE9+、Firefox、Chrome、Safari、Opera29. X:only-of-type以下是代碼片段:li:only-of-type font-weight:bold; 這個(gè)偽類(lèi)匹配的是,在它上級(jí)容器下只有它一個(gè)子元素,它沒(méi)有鄰居元素。例如

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論