最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

css3 偽類選擇器快速復(fù)習(xí)小結(jié)

  發(fā)布時間:2019-09-10 16:07:02   作者:ASCll   我要評論
如果說 css 作為前端開發(fā)的基本功, 那么 "選擇器" 就是基礎(chǔ)中的基礎(chǔ),本文介紹了css3 偽類選擇器快速復(fù)習(xí),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

如果說 css 作為前端開發(fā)的基本功, 那么 "選擇器" 就是基礎(chǔ)中的基礎(chǔ). 如果你在復(fù)寫或者學(xué)習(xí)這些容易令人混淆的選擇器, 那么你就來對地方了, 我的老伙計(jì).

本篇文章會直接了當(dāng)?shù)谋容^它們的特性, 幫助你快速的掌握它們:

  • first-child
  • last-child
  • first-of-type
  • last-of-type
  • only-child
  • only-of-type
  • nth-child
  • nth-last-child
  • nth-of-type
  • nth-last-of-type

first-child & last-child

這兩個選擇器會匹配一組兄弟元素中的第一個:
 

注意: 要想使得該選擇器起作用實(shí)際上需要滿足三個條件:

  • 被前面的選擇器匹配 此例中是 p
  • 是一組兄弟元素
  • 是第一個(或者最后一個)元素

last-child 在此不多贅述, 區(qū)別就是從后向前進(jìn)行匹配.

first-of-type & last-of-type

這兩個選擇器會匹配同一組類型中的第一個(最后一個)而不理會該元素的位置是否真的是在該組元素的第一個(最后一個):
 

注意: 要想使得該選擇器起作用實(shí)際上需要滿足兩個條件:

  • 被前面的選擇器匹配 此例中是 p
  • 是一組兄弟元素

last-of-type 在此不多贅述, 區(qū)別就是從后向前進(jìn)行匹配.

only-child & only-of-type

only-child 匹配那些沒有兄弟元素的元素, 換句話說匹配那些 "孤兒" 元素:
 

上圖中被 "孤立" 的元素有第一個 <p> 和嵌套的 <span> 它們都被選擇器匹配到了.

only-of-type 匹配一組兄弟元素中類型唯一類型的元素:
 

因?yàn)榈谝粋€<p> 和第二個 <p> 以及最后的 <span> 在對應(yīng)的父元素下類型都是唯一的所以它們會被選擇器匹配到.

nth-child & nth-last-child

這些偽類選擇器最有意思的一點(diǎn)就是可以傳入一個公式 an+b, 根據(jù)這個公式來匹配元素. 這個公式有很多玩法, 導(dǎo)致有很多人將這個公式的所有組合以及所匹配的內(nèi)容背下來.

實(shí)際上我們的思考方式被 css 給固化了, 因?yàn)檫@個東西從數(shù)學(xué)的角度來看非常容易摸清楚規(guī)律, 例如有如下的代碼:

<style>
  p:nth-child(2n+1){
    color:blue;
  }
</style>
<body>
  <p>第一行</p>
  <p>第二行</p>
  <p>第三行</p>
</body>

思考模式:

  1. 先收集匹配到的元素, 在這個例子中就是三個 <p> 標(biāo)簽
  2. 從下標(biāo) 0 后數(shù)到 2 表示 <p> 的個數(shù), 依次帶入公式求值
  3. 將對應(yīng)下標(biāo)的元素進(jìn)行匹配(元素下標(biāo)從1開始數(shù))

結(jié)果:
 

   

公式 解釋
2n 所有偶數(shù)元素
2n+1 所有奇數(shù)元素
n & n+1 所有元素
n+2 第二個元素后的元素(包括第二個元素)
n+3 第三個元素后的元素(包括第三個元素)
0n 啥都匹配不到
3n+4 4,7,10,13 ....
1 只匹配第一個元素
-n+2 只匹配前兩個元素
nth-child(odd) 奇數(shù)元素
nth-child(even) 偶數(shù)元素

不過不要忘記了 nth-child 匹配的依然是同一組兄弟元素, 不過有趣的是 nth-child 會利用選擇器進(jìn)行過濾, 但是應(yīng)用樣式的時候卻不把樣式應(yīng)用到匹配的元素上:
 

上圖中 <div> 中的兩組 <p> 元素被視為兄弟元素進(jìn)行匹配, 但是有趣的是作為第三個 <p> 元素 "第三行" 也被匹配到了, 這說明在應(yīng)用樣式會直接應(yīng)用在一組兄弟元素中而不是被匹配到的 <p> 元素, 不過需要注意的是如果圖片中的 "第三組" 中的 <p><div> 的話類型不同樣式是不會被應(yīng)用的.

nth-last-child 就是從后向前的版本, 這里就不在詳細(xì)舉例了:
 

MDN 上還給出了一個有意思的例子, 可以根據(jù)元素的數(shù)量來控制元素的樣式:

li:nth-last-child(n+3),
li:nth-last-child(n+3) ~ li {
  color: red;
}
<h4>A list of four items (styled):</h4>
<ol>
  <li>One</li>
  <li>Two</li>
  <li>Three</li>
  <li>Four</li>
</ol>

<h4>A list of two items (unstyled):</h4>
<ol>
  <li>One</li>
  <li>Two</li>
</ol>

nth-of-type & nth-last-of-type

nth-of-type 匹配:

  • 同一組中相同類型的兄弟元素
  • 匹配對應(yīng)公式計(jì)算值的元素

你注意到了嗎 nth-of-typenth-child 是有些區(qū)別的, 計(jì)算完成后樣式的應(yīng)用到了被匹配的元素身上, 而不是兄弟元素上.

nth-last-of-type 是一個從后向前的版本, 這里不在詳細(xì)介紹:
 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解css3中的偽類before和after常見用法

    這篇文章主要介紹了詳解css3中的偽類before和after常見用法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-17
  • CSS偽類:empty讓我眼前一亮(實(shí)例代碼)

    這篇文章主要介紹了CSS偽類:empty讓我眼前一亮,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-03
  • 淺談CSS 偽元素&偽類的妙用

    這篇文章主要介紹了淺談CSS 偽元素&偽類的妙用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)
    2020-09-01
  • CSS 偽類修改input選中樣式的示例代碼

    這篇文章主要介紹了CSS 偽類修改input選中樣式的示例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-21
  • css偽類 右下角點(diǎn)擊出現(xiàn) 對號角標(biāo)表示選中的示例代碼

    這篇文章主要介紹了css偽類 右下角點(diǎn)擊出現(xiàn) 對號角標(biāo)表示選中,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-22
  • css選擇器四大類:基本、組合、屬性、偽類

    這篇文章主要介紹了css選擇器四大類:基本、組合、屬性、偽類的相關(guān)知識,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-14
  • 詳解如何使用CSS3中的結(jié)構(gòu)偽類選擇器和偽元素選擇器

    這篇文章主要介紹了詳解如何使用CSS3中的結(jié)構(gòu)偽類選擇器和偽元素選擇器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面
    2020-01-06
  • 解決移動端跳轉(zhuǎn)問題(CSS過渡、target偽類)

    這篇文章主要介紹了解決移動端跳轉(zhuǎn)問題(CSS過渡、target偽類),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編
    2019-10-10
  • CSS新增的:where和:is偽類函數(shù)是什么

    這篇文章主要介紹了CSS新增的:where和:is偽類函數(shù)是什么的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-15

最新評論

呼伦贝尔市| 伊金霍洛旗| 长白| 赤水市| 鄯善县| 凯里市| 和林格尔县| 广元市| 中方县| 平乐县| 修武县| 闽侯县| 建水县| 扎囊县| 金川县| 巴中市| 祁阳县| 辽中县| 古浪县| 碌曲县| 砚山县| 岳阳市| 吴桥县| 象州县| 遂昌县| 洛南县| 苍溪县| 任丘市| 涟源市| 平凉市| 亳州市| 读书| 确山县| 双江| 慈利县| 大埔区| 平舆县| 上思县| 弥渡县| 渭源县| 汾阳市|