CSS3選擇器

CSS3中給了我們更多的選擇器讓我們來獲取元素搏存,極大程度提高了查找元素的精度以及準(zhǔn)確性咖摹,值得慶幸的是絕大多數(shù)的選擇器的語法跟jQuery中兼容

屬性選擇器

屬性選擇器的作用就是星虹,根據(jù)標(biāo)簽的屬性去篩選對應(yīng)的元素校套,屬性選擇器從CSS2推出悴侵,在CSS3中增加了幾個(gè)新的

  • 選擇器語法:
    下列的屬性名都為att 這里就不單獨(dú)寫了
    E[att]:包含attr屬性
    E[att="val"]:屬性值為val
    E[att~="val"]:屬性值使用空格進(jìn)行分割,有一個(gè)為val
    E[att^="val"]:屬性值以val開頭
    E[att$="val"]:屬性值以val結(jié)尾
    E[att*="val"]:屬性中包含val
    E[att|="val"]:屬性以‘-’分割狰住,其中有val值(如果屬性只有val 那么也會(huì)被選中哦)
  • 示例代碼:

示例代碼直接新建頁面运嗜,運(yùn)行即可

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        li[skill]{
            background-color: red;
        }
        li[color = "white"]{
            background-color: blue;
        }
        li[color~="red"]{
            background-color: orange;
        }
        li[color^="bla"]{
            border: 10px solid #0094ff;
        }
        li[color$="ge"]{
            font-size: 32px;
        }
        li[color*="orange"]{
            color:orange;
        }
        li[color|="black"]{
            background-color: black;
        }
    </style>
</head>
<body>
    <ul>
        <li skill="噴火">葫蘆娃</li>
        <li color = "black">黑貓警長</li>
        <li color = "white">海爾兄弟</li>
        <li color = "blue red">舒克和貝塔</li>
        <li color = "white gray">喜羊羊與灰太狼</li>
        <li color = "black-orange">大頭兒子小頭爸爸</li>
    </ul>
</body>
</html>

兄弟選擇器

兄弟選擇器的作用是从媚,選擇相鄰的兄弟節(jié)點(diǎn)

  • 語法:
    • 相同父元素
    • 在選擇器1之后
    • 的所有滿足選擇器2的元素
    選擇器1~選擇器2
  • 示例代碼:

在class為.first之后的所有class為.meat的元素背景顏色會(huì)變?yōu)榧t色
需要注意的是,之前的并不會(huì)獲取到哦

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>兄弟選擇器</title>
    <style type="text/css">
        .first~.meat{
            background-color: red;
        }
    </style>
</head>
<body>
    <p class="meat">牛肉</p>
    <h1 class="first">我是h1</h1>
    <p>西蘭花</p>
    <p>西葫蘆</p>
    <p class="meat">牛肉</p>
    <h1>我是h1</h1>
    <p>小白菜</p>
    <p class="meat">牛肉</p>
    <p class="meat">牛肉</p>
</body>
</html>

偽類選擇器

偽類選擇器,CSS3中推出了一些新的偽類選擇器橡羞,將常用的列舉如下

  • 語法:

使用注意:
* 標(biāo)簽E,必須是某個(gè)元素的子元素(在界面上)
* 如果通過偽類選擇器找到的元素不是E則選擇無效

結(jié)構(gòu)偽類
E:first-child:第一個(gè)子元素
E:last-child:最后一個(gè)子元素

E:nth-child(n): 第n個(gè)子元素眯停,計(jì)算方法是E元素的全部兄弟元素;
E:nth-last-child(n): 跟E:nth-child(n)類似 卿泽,只是倒著計(jì)算莺债;
    其中n的取值范圍是:0,1,2,3,4...線性累加
    可以傳入表達(dá)式,比如2n,2n+1等等
    可以傳入特殊字符:even(偶數(shù)) odd(奇數(shù))

E:empty 指的是E標(biāo)簽齐邦,并且內(nèi)容為空
E:not(選擇器):指的是椎侠,不滿足括號內(nèi)選擇器條件的元素E

目標(biāo)偽類
E:target:選中當(dāng)前錨點(diǎn)
  • 示例代碼:

示例代碼直接新建頁面,運(yùn)行即可

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>選擇器 - 偽類</title>
    <style>
        body {
            margin: 0;
            padding: 0;
            background-color: #F7F7F7;
        }

        ul {
            width: 560px;
            padding: 0;
            margin: 100px auto;
            list-style: none;
            border-right: 1px solid #CCC;
            border-bottom: 1px solid #CCC;
            overflow: hidden;
        }

        li {
            width: 79px;
            height: 80px;
            text-align: center;
            line-height: 80px;
            border-left: 1px solid #CCC;
            border-top: 1px solid #CCC;
            background-color: #FFF;
            font-size: 24px;
            font-weight: bold;
            color: #333;
            float: left;
        }
        /*第一個(gè)*/
        li:first-child{
            color: red;
        }
        li:last-child{
            color:red;
        }
        li:nth-child(2){
            color:blue;
        }
        li:nth-child(2n){
            color: blue;
        }
        li:nth-child(2n+1){
            color:red;
        }
        li:nth-last-child(1){
            background-color: pink;
        }
        li:nth-last-child(2){
            background-color: yellow;
        }
        /*奇數(shù)*/
        li:nth-child(odd){
            background-color: pink;
        }
        /*偶數(shù)*/
        li:nth-child(even){
            background-color: skyblue;
        }
    </style>
</head>
<body>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
        <li>10</li>
        <li>11</li>
        <li>12</li>
        <li>13</li>
        <li>14</li>
        <li>15</li>
        <li>16</li>
        <li>17</li>
        <li>18</li>
        <li>19</li>
        <li>20</li>
        <li>21</li>
        <li>22</li>
        <li>23</li>
        <li>24</li>
        <li>25</li>
        <li>26</li>
        <li>27</li>
        <li>28</li>
        <li>29</li>
        <li>30</li>
        <li>31</li>
        <li>32</li>
        <li>33</li>
        <li>34</li>
        <li>35</li>
    </ul>
</body>
</html>
calendar.png

偽元素選擇器

before&after

  • 語法:

使用注意:

  • 需要配合content屬性使用(如果沒有,輸入""空字符串)
  • 可以用來制作圖標(biāo)
  • 部分圖標(biāo)框架使用的就是這種機(jī)制
  • 默認(rèn)是行內(nèi)元素措拇,根據(jù)需求可能需要修
E:before:在元素E之前添加
E:after:在元素E末尾添加

也可以寫為
E::before
E::after

first-letter

  • 語法:
    • 獲取的是內(nèi)容的第一個(gè)文字
    • 根據(jù)語言不通肺蔚,會(huì)有細(xì)微差別
E:first-letter等價(jià)于E::first-letter

first-line

  • 語法:
    • 獲取的是內(nèi)容的第一行的內(nèi)容
    • 可以配合p標(biāo)簽使用
E:first-line等價(jià)于E::first-line
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市儡羔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌璧诵,老刑警劉巖汰蜘,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異之宿,居然都是意外死亡族操,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進(jìn)店門比被,熙熙樓的掌柜王于貴愁眉苦臉地迎上來色难,“玉大人,你說我怎么就攤上這事等缀〖侠颍” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵尺迂,是天一觀的道長笤妙。 經(jīng)常有香客問我,道長噪裕,這世上最難降的妖魔是什么蹲盘? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮膳音,結(jié)果婚禮上召衔,老公的妹妹穿的比我還像新娘。我一直安慰自己祭陷,他們只是感情好苍凛,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著颗胡,像睡著了一般毫深。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上毒姨,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天哑蔫,我揣著相機(jī)與錄音,去河邊找鬼。 笑死闸迷,一個(gè)胖子當(dāng)著我的面吹牛嵌纲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播腥沽,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼逮走,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了今阳?” 一聲冷哼從身側(cè)響起师溅,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎盾舌,沒想到半個(gè)月后墓臭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡妖谴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年窿锉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片膝舅。...
    茶點(diǎn)故事閱讀 40,861評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嗡载,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出仍稀,到底是詐尸還是另有隱情洼滚,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布技潘,位于F島的核電站判沟,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏崭篡。R本人自食惡果不足惜挪哄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望琉闪。 院中可真熱鬧迹炼,春花似錦、人聲如沸颠毙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛀蜜。三九已至刻两,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間滴某,已是汗流浹背磅摹。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工滋迈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人户誓。 一個(gè)月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓饼灿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親帝美。 傳聞我的和親對象是個(gè)殘疾皇子碍彭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 常用選擇器 子元素選擇器E>F: E元素內(nèi)的每個(gè)子元素F(選取父元素是E元素的每個(gè)F元素) 兄弟選擇器E+F:E元...
    閆子揚(yáng)閱讀 162評論 0 0
  • 基礎(chǔ) 屬性選擇器(CSS2) [attr=val] attr代表屬性值,val代表變量值 屬性選擇器的擴(kuò)展(CSS...
    秋楓殘紅閱讀 332評論 0 1
  • 2.9 否定偽類選擇器 否定偽類選擇器":not()"是CSS3的新選擇器悼潭,類似jQuery中的":not()"選...
    白小蟲閱讀 424評論 0 0
  • 一庇忌,CSS3 選擇器分類 二,選擇器語法 1舰褪,基本選擇器語法 選擇器 類型 功能描述 * 通配選擇器 選擇文檔中所...
    newSpring666閱讀 310評論 0 0
  • 屬性選擇器 [att=val] att代表屬性, val代表屬性值 [att*=val] 含義:如果元素用att表...
    markpapa閱讀 285評論 0 2