亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 55
粉絲 3
評(píng)論 0
訪問(wèn)量 69558
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
CSS選擇器
王佳祥
原創(chuàng)
686人瀏覽過(guò)

CSS選擇器

一、簡(jiǎn)單選擇器

1. 元素選擇器:標(biāo)簽選擇器

實(shí)例:

  1. body {
  2. background-color: red;
  3. }

瀏覽器顯示結(jié)果:

2. 類選擇器:對(duì)應(yīng)著html中的class屬性

實(shí)例:

  1. <head>
  2. <style>
  3. .box{
  4. width:200px;
  5. height:200px;
  6. background:green;
  7. }
  8. </style>
  9. </head>
  10. <body>
  11. <div class="box"></div>
  12. </body>

瀏覽器顯示結(jié)果:

3. 復(fù)合類樣式:把一個(gè)元素的多個(gè)類寫(xiě)在一起

實(shí)例:

  1. <head>
  2. <style>
  3. .box{
  4. width:200px;
  5. height:200px
  6. background:red;
  7. }
  8. .box.box1{
  9. background:blue;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <div class="box box1"></div>
  15. </body>

瀏覽器顯示結(jié)果:

學(xué)習(xí)重點(diǎn):認(rèn)識(shí)這種寫(xiě)法,知道這種寫(xiě)法是什么意思,在css中后面相同的屬性會(huì)覆蓋前面的屬性,所以顯示結(jié)果為藍(lán)色。

4. id選擇器

實(shí)例:

  1. <head>
  2. <style>
  3. .box#box{
  4. width:200px;
  5. height:200px;
  6. background:red;
  7. }
  8. #box{
  9. background:blue;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <div class="box" id="box"></div>
  15. </body>

瀏覽器顯示結(jié)果:

學(xué)習(xí)重點(diǎn):因?yàn)?box#box的優(yōu)先級(jí)要高于#box所以顯示為紅色。而#box.box的優(yōu)先級(jí)要比.box#box的優(yōu)先級(jí)更高,了解復(fù)合類樣式的優(yōu)先級(jí)規(guī)則。id現(xiàn)在很少用,大部分用在表單和錨點(diǎn)上,所以盡可能用class選擇器

二、上下文選擇器

1. 后代選擇器:空格(接下來(lái)用九宮格來(lái)做實(shí)例)

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>選擇器:簡(jiǎn)單選擇器</title>
  7. <style>
  8. .container {
  9. width: 625px;
  10. height: 625px;
  11. padding: 5px;
  12. background: #ffffff;
  13. display: grid;/*網(wǎng)格布局*/
  14. grid-template-columns: repeat(3, 1fr);
  15. /*網(wǎng)格的列為3個(gè)寬度相同的列*/
  16. grid-gap: 5px;/*網(wǎng)格間距為5像素*/
  17. }
  18. .item {
  19. font-size: 4rem;rem/*相對(duì)大小*/
  20. display: flex;/*彈性布局*/
  21. justify-content: center;
  22. align-items: center;/*居中*/
  23. background: #f5bb1e;/*垂直居中*/
  24. }
  25. </style>
  26. </head>
  27. <body>
  28. <div class="container">
  29. <div class="item">1</div>
  30. <div class="item">2</div>
  31. <div class="item">3</div>
  32. <div class="item">4</div>
  33. <div class="item center">5</div>
  34. <div class="item">6</div>
  35. <div class="item">7</div>
  36. <div class="item">8</div>
  37. <div class="item">9</div>
  38. </div>
  39. </body>
  40. </html>


接下來(lái)用后代選擇器的方式,給九宮格加上邊框

  1. <style>
  2. .container .item{border:2px solid #000;}
  3. </style>

顯示結(jié)果:

給所有的具有.item選擇器的元素都加上了邊框

2. 父子選擇器:>

實(shí)例:

  1. <style>
  2. body > div {border:5px solid orange;}
  3. </style>

顯示結(jié)果:

如果用后代選擇器的話

  1. <style>
  2. body div {border:5px solid blue;}
  3. </style>

顯示結(jié)果:

學(xué)習(xí)重點(diǎn):后代選擇器表示的是不僅是父子關(guān)系,它會(huì)獲得所有后代元素,用空格來(lái)連接;父子選擇器表示的僅僅是父子關(guān)系,用>來(lái)連接。

3. 同級(jí)相鄰選擇器:+

實(shí)例:

  1. <style>
  2. .item.center + .item{background:greenyellow;}
  3. </style>

顯示結(jié)果:

4. 同級(jí)所有選擇器:~

實(shí)例:

  1. <style>
  2. .item.center ~ .item{background:red;}
  3. </style>

顯示結(jié)果:

三、結(jié)構(gòu)偽類選擇器(不分組)

1. 匹配第一個(gè)子元素: (:first-child)

實(shí)例:(九宮格)

  1. <style>
  2. .container :first-child{background:red;}
  3. </style>

結(jié)果:

這里我發(fā)現(xiàn)如果.container后面沒(méi)空格的話就會(huì)把樣式加給自身.container

  1. <style>
  2. .container:first-child{background:red;}
  3. </style>

結(jié)果:

學(xué)習(xí)重點(diǎn)::first-child沒(méi)有父元素的話會(huì)從根元素開(kāi)始匹配每個(gè)父元素下的第一個(gè)元素,一定要在:first-child前面加上父元素并加空格

2. 匹配最后一個(gè)元素: (:last-child)

實(shí)例:

  1. <style>
  2. .container :last-child{background:red;}
  3. </style>

結(jié)果:

3. 選擇第n個(gè)元素:nth-child(n)

實(shí)例1:選擇第四個(gè)方框

  1. <style>
  2. .container :nth-child(4){background:red;}
  3. </style>

結(jié)果:


實(shí)例2:選擇奇數(shù)偶數(shù)元素

  1. <style>
  2. .container :nth-child(2n){background:red;}
  3. /*偶數(shù)為紅色*/
  4. .container :nth-child(2n-1){background:green;}
  5. /*奇數(shù)為綠色*/
  6. </style>
  7. 或者用even表示偶數(shù),odd表示奇數(shù)
  8. .container :nth-child(even){background:red;}
  9. /*偶數(shù)為紅色*/
  10. .container :nth-child(odd){background:green;}
  11. /*奇數(shù)為綠色*/

結(jié)果:


實(shí)例3:選擇前3個(gè)元素

  1. <style>
  2. .container :nth-child(-n + 3){background:blue;}
  3. </style>

結(jié)果:


實(shí)例3:選擇倒數(shù)前3個(gè)元素

  1. <style>
  2. .container :nth-last-child(-n + 3){background:blue;}
  3. </style>

結(jié)果:


實(shí)例3:選擇第5個(gè)到第8個(gè)元素

  1. <style>
  2. .container :nth-child(n + 5):nth-child(-n + 8){background:green;}
  3. </style>

結(jié)果:

學(xué)習(xí)重點(diǎn):n的索引是從0開(kāi)始的,所以2n就是偶數(shù),2n+1/2n-1就是奇數(shù),選擇從第幾個(gè)開(kāi)始是加幾,選擇從第一個(gè)到第幾個(gè)是-n加幾,選擇n是從第5個(gè)到第8個(gè)是 :nth-chlid(n+5):nth-child(-n+8),兩者可以結(jié)合使用

四、偽類分組選擇器

1. 匹配到最后一個(gè)元素

首先把九宮格代碼部分改成<span class="item"></span>

  1. <div class="item">1</div>
  2. <div class="item">2</div>
  3. <div class="item">3</div>
  4. <span class="item">4</span>
  5. <span class="item">5</span>
  6. <span class="item">6</span>
  7. <span class="item">7</span>
  8. <span class="item">8</span>
  9. <span class="item">9</span>

實(shí)例:

  1. <style>
  2. .container :last-of-type{background:pink;}
  3. </style>

結(jié)果:

分組結(jié)構(gòu)偽類分兩步:1.元素按類型進(jìn)行分組;2.在分組中根據(jù)索引進(jìn)行選擇

2. 匹配分組中的任意一個(gè)元素:(:nth-of-type(n))

實(shí)例1:匹配span分組中的第三個(gè)元素

  1. <style>
  2. .container span:nth-of-type(3){background:pink;}
  3. </style>

結(jié)果:

實(shí)例2:匹配span分組中的前三個(gè)元素

  1. <style>
  2. .container span:nth-of-type(-n + 3){background:pink;}
  3. </style>

結(jié)果:

實(shí)例3:匹配span分組中的倒數(shù)2個(gè)元素

  1. <style>
  2. .container span:nth-last-of-type(-n + 2){background:pink;}
  3. </style>

結(jié)果:

五、偽類與偽元素

1. :target必須與id配合,實(shí)現(xiàn)錨點(diǎn)操作

實(shí)例:

  1. <head>
  2. <style>
  3. #login-form {display: none;}
  4. #login-form:target {display: block;}
  5. /*當(dāng)前#login-form的表單元素被a的錨點(diǎn)激活時(shí)執(zhí)行*/
  6. </style>
  7. </head>
  8. <body>
  9. <a href="#login-form">我要登錄:</a>
  10. <form action="" method="post" id="login-form">
  11. <label for="email">郵箱:</label>
  12. <!--<label> 標(biāo)簽為 input 元素定義標(biāo)注(標(biāo)記)-->
  13. <input type="email" name="email" id="email" />
  14. <label for="password">密碼:</label>
  15. <input type="password" name="password" id="password" />
  16. <button>登錄</button>
  17. </form>
  18. </body>

瀏覽器顯示結(jié)果:

點(diǎn)擊后

2. :focus 當(dāng)獲取焦點(diǎn)的時(shí)候

實(shí)例:

  1. <style>
  2. input:focus{background:yellow;}
  3. </style>

顯示結(jié)果:

3. ::selection設(shè)置選中文本的前景色和背景色

實(shí)例:

  1. <style>
  2. input::selection{color:red;background-color:greenyellow;}
  3. </style>

顯示結(jié)果:

::selection前面是雙冒號(hào)

4. :not() 用于選擇不滿足條件元素

實(shí)例:

  1. <style>
  2. .list > *:not(:nth-of-style(2)){color:red;}
  3. </style>
  4. <body>
  5. <ul class="list">
  6. <li>1</li>
  7. <li>2</li>
  8. <li>3</li>
  9. <li>4</li>
  10. </ul>
  11. </body>

顯示結(jié)果:

5. ::before在元素之前,::after 在元素之后

實(shí)例:

  1. <style>
  2. .list::before{content:"購(gòu)物車";font-size:2rem;}
  3. .list::after{content:"結(jié)算中...";color:red;font-size:2rem;}
  4. </style>
  5. <body>
  6. <ul class="list">
  7. <li>1</li>
  8. <li>2</li>
  9. <li>3</li>
  10. <li>4</li>
  11. </ul>
  12. </body>

顯示結(jié)果:

::before,::after前面都是雙冒號(hào)

六、表格

  1. <style>
  2. table,td,tr,th,caption {
  3. border: 1px solid #000;
  4. padding: 0px;
  5. margin: 0px;
  6. }
  7. </style>
  8. <!-- 表格:數(shù)據(jù)格式化的工具 -->
  9. <table>
  10. <!-- 表格標(biāo)題 -->
  11. <caption>
  12. 員工信息表
  13. </caption>
  14. <!-- 表格頭部 -->
  15. <thead>
  16. <tr>
  17. <th>姓名</th>
  18. <th>性別</th>
  19. <th>年齡</th>
  20. </tr>
  21. </thead>
  22. <!-- 表格主體 -->
  23. <tbody>
  24. <tr>
  25. <td>張三</td>
  26. <td></td>
  27. <td>22</td>
  28. </tr>
  29. <tr>
  30. <td>張四</td>
  31. <td></td>
  32. <td>23</td>
  33. </tr>
  34. <tr>
  35. <td>張莉</td>
  36. <td></td>
  37. <td>22</td>
  38. </tr>
  39. </tbody>
  40. <!-- 表格尾部 -->
  41. <tfoot>
  42. <tr>
  43. <td>尾部</td>
  44. <td>尾部</td>
  45. <td>尾部</td>
  46. </tr>
  47. </tfoot>
  48. </table>

顯示結(jié)果:

學(xué)習(xí)總結(jié):

1.簡(jiǎn)單選擇器:

css與id選擇器的應(yīng)用場(chǎng)景,id選擇器現(xiàn)在大部分用在表單,錨點(diǎn)上,其它地方很少用,盡可能的用class選擇器。

2.上下文選擇器:

空格、>、+、~分別對(duì)應(yīng)后代選擇器、父子選擇器、同級(jí)相鄰選擇器、同級(jí)所有選擇器

3. 偽類選擇器(不分組):

first-child,last-child,nth-child(n),nth-last-child(n),選擇第一個(gè)元素,最后一個(gè)元素,選擇任意一個(gè)元素,選擇任意倒數(shù)一個(gè)元素,n初始索引值為1,但是有點(diǎn)難理解,課堂中說(shuō)的一個(gè)例子,選擇前三個(gè)元素,nth-child(-n+3),如果n的值為1,這里是不對(duì)的,n的值此時(shí)應(yīng)該是0,老師后來(lái)說(shuō)表達(dá)式的情況下為0,后來(lái)經(jīng)過(guò)自己邊寫(xiě)邊想,發(fā)現(xiàn)確實(shí)是這樣的,n正常情況下是1,在表達(dá)式中就是0,終于想明白了!

4.偽類分組元素:

  • 根據(jù)元素類型進(jìn)行分組;
  • 在分組中按照索引進(jìn)行選擇;
    last-of-type,first-of-type,元素:nth-of-type(n),元素:nth-last-type(n)

5.偽類和偽元素:

  • :target必須與id配合,實(shí)現(xiàn)錨點(diǎn)操作;
  • :focus當(dāng)獲取焦點(diǎn)的時(shí)候;
  • ::selection設(shè)置選中文本的前景色和背景色;
  • :not() 用于選擇不滿足條件元素;
  • ::before在元素之前,::after 在元素之后。
批改老師:WJWJ

批改狀態(tài):合格

老師批語(yǔ):寫(xiě)的非常認(rèn)真,格式工整!
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
作者最新博文
關(guān)于我們 免責(zé)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)