CSS3高級選擇器


CSS3中添加了一些新的選擇器 與之前的不同 這些選擇器有些類似於jquery的選擇器 能夠讓我們更高的操作DOM 廢話不多說

為了更直觀的了解 我們以這段為實例 來進行操作

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8     <ul>
 9         <li>第一個測試標題</li>
10         <li>第二個測試標題</li>
11         <li>第三個測試標題</li>
12         <li>第四個測試標題</li>
13         <li>第五個測試標題</li>
14     </ul>
15 </body>
16 </html>

:nth-of-type(n)  選擇屬於其父元素第n個元素的每個元素。

和這個類似的是 :first-of-type和:last-of-type 分別是選擇第一個元素和最后一個元素

DEMO:

<style>
        li:nth-of-type(3){   /*選擇第3個li元素*/
            background-color: #00b3ee;
        }
        li:first-of-type{   /*選擇第一個li元素*/
            background-color: #ee1200;
        }
        li:last-of-type{    /*選擇最后一個li元素*/
            background-color: #00ee0f;
        }
</style>

 

:before 在元素內容前面添加內容

:after 在元素內容后面添加內容

這兩個元素類似於:hover 但是他們不是鼠標懸浮 而是利用content屬性添加內容 

需要注意的是 用css添加的內容不能被選中 也不能被js獲取 顯示成 這些內容屬於css樣式類型的

DEMO:

        li:before{
            content: '在前面添加內容 ';
        }
        li:after{
            content: ' 在后面添加的內容';
        }

 

:focus 這個也類似於我們常用的:hover 用來動態選擇獲取焦點的元素

DEMO:別如獲取焦點的input框改變背景顏色

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        input:focus{
            background-color: #00b3ee;
        }
    </style>
</head>
<body>

    輸入框1:<input type="text"><br>
    輸入框2:<input type="text">
</body>
</html>

 

:nth-child(n) 選取每個父元素的第n個子元素

:nth-last-child(n) 選取每個父元素從后向前數的第n個元素

:last-child 選擇每個父元素的最后一個子元素

注意 這個選擇器慎用  因為選擇面太大 不好控制

DEMO:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        :not(p){
            border:solid red 1px;
        }
    </style>
</head>
<body>
    <div>
        <p>我是P元素</p>
        <p>我是P元素</p>
        <p>我是P元素</p>
        <span>我不是p元素 我是span元素</span>
        <p>我是P元素</p>
    </div>
</body>
</html>

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM