1. 程式人生 > >CSS基礎第二篇之選擇器

CSS基礎第二篇之選擇器

lec blue auto 添加內容 cal device 鍵值對 種類 one

我這裏就簡單舉例9種常用選擇器:

1、通配符選擇器

說明:為頁面上的所有元素設置樣式。優先級最低。

*{
margin:0;
padding:0;
}

2、元素選擇器

說明:也叫標簽選擇器,根據元素名(標簽名)來設置樣式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv
="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> p{ width:200px; height:auto; color:red; } div{ width:100px; height:100px; background:blue; } </style> </head> <body> <p>web前端開發工程師</
p> <div> Java開發工程師 </div> </body> </html>

3、類選擇器

說明:為含有相同類名的元素設置樣式,元素選擇時,需要在元素之前加“.”號。

<style>
   .s1{
      color:red;  
    } 
</style>
<body>
<p class=‘s1‘>aa</p>
<p class=‘s2‘>bb</p>
<p class=‘s1 s2‘>cc</p>
<!----aa和cc的字體顏色為紅色----> </body>

4、ID選擇器

說明:#ID名{屬性名:屬性值;屬性名:屬性值},ID選擇器具有唯一性

<style>
   #d1{
      color:red;  
    } 
</style>
<body>
<p id=‘d1‘>aa</p>
<p id=‘d2‘>bb</p>
<!----aa的字體顏色為紅色---->
</body>

5、屬性選擇器

①簡單屬性選擇器:選擇具有某個屬性名的元素

說明:[元素屬性名]{屬性名:屬性值;屬性名:屬性值} 選擇有指定屬性名的元素,而不管元素的該屬性的屬性值是什麽

<style>
   [href]{
      color:red;  
    } 
</style>
<body>
    <a href=‘taobao‘>taobao</a>
    <div>
        <a href=‘baidu‘>baidu</a>
    </div>
    <a href=‘tencent‘ >tencent</p>
<!----taobao baiidu和tencent的字體顏色均為紅色---->
</body> 

②具體屬性值選擇器:選擇具有指定屬性鍵值對(屬性名和屬性值都要匹配)的元素。

說明:[元素屬性="屬性值"]{屬性名:屬性值;屬性名:屬性值;} 屬性名和屬性值要完全匹配

<style>
   [href=‘taobao‘]{
      color:red;  
    } 
</style>
<body>
    <a href=‘taobao‘>taobao</a>
    <div>
        <a href=‘baidu‘>baidu</a>
    </div>
    <a href=‘tencent‘ >tencent</p>
<!----taobao的字體顏色均為紅色---->
</body>

③子串匹配屬性選擇器:可以規定屬性值包含什麽字符串(*)或以什麽字符串開頭(^)/結尾($)

說明:[元素屬性^="def"]{屬性名:屬性值;屬性名:屬性值;} 相應的屬性值以def開頭的元素

   [元素屬性$="def"]{屬性名:屬性值;屬性名:屬性值;} 相應的屬性值以def結尾的元素

   [元素屬性*="def"]{屬性名:屬性值;屬性名:屬性值;.} 相應的屬性值包含def的元素

<style>
  .s1 p{
      color:red;  
    } 
</style>
<body>
    <p>aa</p>
    <div class=‘s1‘>
        <p>bb</p>
        <div>
            <p>cc</p>
        </div>
        <p>dd</p>
    </div>
    <p >ee</p>
<!----bb、cc和dd的字體顏色為紅色---->
</body> 

6、子選擇器

說明:父元素>子元素{屬性:屬性值},此表示為第一代子元素。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
<style>
 
    p>span{
        color:red;
    }
    p span{
        color:blue;
        }
    p>span>span{
       color:green;
    }
</style>
</head>
<body>
   <p>
       <span>
           C++工程師
           <span>
               <span>
               web前端開發工程師
             </span>
            </span>
        </span>
    </p>
   <p><span>嵌入式軟件工程師<span>Java開發工程師</span></span></p>
</body>
</html>

註:特別註意這裏p span代表span以及後面所有子元素,而p>span只代表p的第一span子元素,同理p>span>span代表p的孫子級元素。

7、偽元素選擇器

說明:通過添加一些實際的元素來向匹配selector選擇器的元素添加一些效果,有以下5種類型。

1、:first-line或::first-line偽元素,用於向文本的首行設置特殊樣式

2、:first-letter或::first-letter偽元素,用於向文本的首字母設置樣式

3、:before或::before在元素之前添加內容

4、:after或::after在元素之後添加內容

5、::selection設置元素在被選擇時的樣式

註:在CSS3之前,偽元素只有1~4四種(::selection為新增),且均為單冒號(:),為了和偽類選擇器進行區分,CSS3中規定,偽元素一律使用(::)雙冒號,但但冒號依然可以使用,且兼容性更好

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
<style>
    p{
        font-size:25px;
    }
 .s1 p::first-line{
         color:red;
         font-style: italic;
 }
 .s2 p::first-letter{
     color:green;
     font-weight:bold;
 }
 .s3 p::before{
     content:"我們生來就孤獨";
     color:rgb(0, 255, 76);
 }
 .s4 p::after{
     content:"我是街上的遊魂,誰是聞到我的人?";
     color:blueviolet;
 }
 .s5 p::selection{
     color:green;
     background:red;
 }
</style>
</head>
<body>
        <div class="s1">
                <h1>我把新買的iPhoneX放在鋼琴上</h1>
                <p>
                  我同學看到後說:真能裝!把手機放在這麽顯眼的位置。我笑了笑說:我彈著80萬的鋼琴
                </p>
              </div>
              
              <div class="s2">
                <h1>你卻只看到一個1萬塊錢的手機</h1>
                <p>
                  我媽媽對我說:你住著5千萬的別墅,卻眼裏只有鋼琴
                </p>
              </div>
              
              <div class="s3">
                <h1>爸爸對我媽媽說</h1>
              <p>你享有身價500億的老公</p>
              </div>    

              <div class="s4">
                <h1>卻眼裏只有個破別墅!</h1>
              <p>呵呵噠</p>
              </div>
              
              <div class="s5">
                <h1>我笑著對你說:我給你看神評論</h1>
              <p>而你卻糾結我是不是在騙贊!眼界決定境界,格局決定結局,謝謝!!</p>
              </div>
</body>
</html>

8、偽類選擇器

關於偽類和偽元素的區別,推薦一篇博客文章,寫的很好

9、群組選擇器

說明:selector1,selector2,selector3{......}

<style>
  .s1,p{
      color:red;  
    } 
</style>
<body>
        <p>aa</p>
    <span  class=‘s1‘>bb</span>    
        <a>cc</a>
<!----aa和bb的字體顏色為紅色---->
</body> 

CSS基礎第二篇之選擇器