CSS常用選擇器實踐

      網(wǎng)友投稿 794 2022-05-30

      CSS3選擇器

      1、標簽選擇器

      顧名思義,標簽選擇器就是用標簽名稱作為選擇器。

      1.1、樣例代碼

      Title

      1.2、效果圖

      1.3、說明

      盡管標簽選擇器用起來很簡便,但缺點也很明顯。 1、在一個復(fù)雜的頁面或構(gòu)圖中,一定會有很多同名標簽,那么多個元素就會共享相同的樣式,本來共享是好事,能節(jié)約代碼量,但問題出在共享的粒度實在太粗了,可能經(jīng)常會出現(xiàn)我們預(yù)料之外的效果。 2、我們希望代碼盡量語義化,也就是讓我們的代碼讀起來就像讀自然語言一樣,這樣便于理解和維護,但標準的HTML標簽名并不能體現(xiàn)具體的業(yè)務(wù)含義。

      2、類選擇器

      類選擇器是指為元素指定一個class屬性,也稱為樣式類,然后在樣式表中通過這個屬性值來引用元素。在CSS中以.class-name的格式來選擇對應(yīng)的元素。

      2.1、樣例代碼

      Title

      2.2、效果圖

      2.3、說明

      可以為每個元素起不同的類名來區(qū)分每個元素,如red、yellow和green,也可以為有共同屬性的元素起相同的類名,如light,還可以為一個元素分配多個類名,多個類名間用空格分隔,如light red。

      3、后代選擇器

      DOM結(jié)構(gòu)是樹狀結(jié)構(gòu),也就是元素可以一層一層地嵌套,便于有條理地組織內(nèi)容。相應(yīng)地,對于內(nèi)層元素的類選擇器,為了提高可讀性,我們應(yīng)該讓它體現(xiàn)出DOM的層次結(jié)構(gòu),按照“父類 子類”的格式來書寫。

      3.1、樣例代碼

      Title

      3.2、效果圖

      3.3、說明

      使用后代選擇器,從技術(shù)上是為了避免選擇到超出范圍的元素,更重要的是,這樣寫能使語義更清晰,令CSS選擇器與DOM結(jié)構(gòu)保持同樣的層級關(guān)系,例如.tree.branch .leaf就體現(xiàn)了“樹干→樹枝→樹葉”這樣的遞進結(jié)構(gòu)。

      4、偽類選擇器

      偽類選擇器用于選擇處于特殊位置或狀態(tài)的元素,例如選擇一堆元素中的第1個或最后一個元素,或者隔一個選一個元素,或者選擇處于鼠標指針懸停狀態(tài)的元素。下面是其中幾個常用的:

      4.1、:first-child和:last-child

      從名稱一望即知,:first-child用于選擇第1個元素,:last-child用于選擇最后一個元素。

      Title

      4.2、:nth-child()

      :nth-child()偽類較為廣泛的用法是:nth-child(odd)和:nth-child(even),其中:nth-child(odd)表示選擇所有第奇數(shù)個元素,:nth-child(even)表示選擇所有第偶數(shù)個元素。

      Title

      4.3、:nth-child(an+b)

      :nth-child()函數(shù)還可以接收一個形如an+b的表達式作為參數(shù),其中a和b是整數(shù),n是從0開始的自然數(shù)列,由此表達式得到的數(shù)列,即為被選中的元素的下標,元素的下標從1開始計算。

      Title

      4.5、:not()

      :not()偽類用于排除掉一些元素,例如:not(:first-child)表示排除掉第1個元素,:not(:nth-child(3))表示排除掉第3個元素。

      Title

      以上樣例是從100個數(shù)字中挑選出素數(shù),把素數(shù)的背景設(shè)置為橙色。這里的選擇器共有5行。前4行分別把數(shù)字2、3、5、7標明為素數(shù)。第5行很長,我們拆開看,它的第1部分是.prime-numbers div,意思是所有

      元素都被選中(被當(dāng)作素數(shù)),后面跟隨了5個:not()選擇器,用于排除掉不是素數(shù)的數(shù)::not(:nth-child(1))排除掉了第1個數(shù),因為數(shù)字1不是素數(shù),接下來:not(:nth-child(2n))排除掉了所有能被數(shù)字2整除的數(shù),再接下來的:not(:nth-child(3n))、:not(:nth-child(5n))、:not(:nth-child(7n))排除掉了所有能被數(shù)字3、5、7整數(shù)的數(shù),以上這些選擇器都是連綴著一路寫下來的,最后的::before表示設(shè)置選擇的是以上剩余的元素的偽元素。

      CSS常用選擇器實踐

      4.6、:hover

      :hover表示當(dāng)鼠標指針懸停在元素上時的狀態(tài),這個樣式的用途是告知用戶當(dāng)前鼠標指針指在哪個元素上,我們經(jīng)常在導(dǎo)航菜單、表單按鈕上見到這種交互方式。

      Title

      E
      L
      E
      M
      E
      N
      T
      S

      設(shè)置鼠標指針懸停在字母上時的樣式,其中的transform用于把字母變大;transition用于增加緩動效果,也就是字母不是一下子變大的,而是在0.5s內(nèi)逐漸變大的。

      CSS HTML

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:廣東省政務(wù)云(數(shù)字廣東)項目案例
      下一篇:UCOS學(xué)習(xí)筆記——任務(wù)相關(guān)的API函數(shù)的使用
      相關(guān)文章
      亚洲精品91在线| 日本亚洲欧洲免费天堂午夜看片女人员| 中文字幕在线亚洲精品| 亚洲人成影院在线高清| 亚洲国产精品人久久| 国产成A人亚洲精V品无码性色| 亚洲精品国产精品乱码不99| 国产精品亚洲综合一区| 国产黄色一级毛片亚洲黄片大全| 亚洲一区二区三区无码影院| 亚洲精品国产精品国自产观看| 亚洲精品视频在线看| 亚洲一区二区三区免费| 亚洲色欲久久久综合网东京热| 亚洲精品无码久久久久去q | 日韩va亚洲va欧洲va国产| 国产成人精品日本亚洲专区61 | 亚洲天堂一区在线| 亚洲国产精品成人精品软件| 亚洲人成人77777在线播放| 亚洲国产成人99精品激情在线| 亚洲乱码在线卡一卡二卡新区| 亚洲中文字幕久久精品无码VA| 亚洲丁香婷婷综合久久| 久久久久久久久无码精品亚洲日韩| 国产av无码专区亚洲av毛片搜| 亚洲一区日韩高清中文字幕亚洲| 国产亚洲一区二区三区在线不卡| 亚洲色成人WWW永久网站| 亚洲日本乱码在线观看| 亚洲av无码潮喷在线观看| 4480yy私人影院亚洲| 亚洲人成在线中文字幕| 亚洲一区二区三区在线观看网站| 亚洲av无码成人精品区一本二本| 亚洲国产精品毛片av不卡在线 | 亚洲精品少妇30p| 久久久久亚洲AV无码麻豆| 精品亚洲成A人无码成A在线观看| 在线精品亚洲一区二区| 在线亚洲v日韩v|