1. 程式人生 > 實用技巧 >css中的選擇器

css中的選擇器

選擇器

基本選擇器

  1. 標籤選擇器:選擇一類標籤。 標籤{}
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Title</title>

        <style>
            h1 {
                color:rgb(218, 205, 88);
                background: #64a2f3;
                border-radius: 18px;
            }
            p {
                font-size: 20px;
            }
        </style>

    </head>
    <body>
        <h1>test1</h1>
        <h1>test2</h1>
        <p>test3</p>
    </body>
</html>
  1. 類選擇器 class:選擇所有class屬性一致的標籤,跨標籤。 .類名{}
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Title</title>

        <style>
            .main {
                color: aqua;
                background: #f06477;
            }
            .header {
                color: blue;
            }
        </style>

    </head>
    <body>
        <h1 class="main">test1</h1>
        <h1 class="header">test2</h1>
        <p class="main">test3</p>
    </body>
</html>
  1. id選擇器:全域性唯一。 #id名{}
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Title</title>

        <style>
            .main {
                color: aqua;
                background: #f06477;
            }
            .header {
                color: blue;
            }
            #test {
                color: black;
            }
        </style>

    </head>
    <body>
        <h1 class="main" id="test">test1</h1>
        <h1 class="header">test2</h1>
        <p class="main">test3</p>
    </body>
</html>

優先順序:id > class > 標籤

層次選擇器

  1. 後代選擇器:在某個元素的後面所有幾代的指定標籤
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Title</title>

        <style>
            /* body後的所有p標籤 */
            body p {
                color: aqua;
            }
        </style>

    </head>
    <body>
        <p>p1</p>
        <p>p2</p>
        <p>
            <ul>
                <li>
                    <p>p3</p>
                </li>
                <li>
                    <p>p4</p>
                </li>
                <li>
                    <p>p5</p>
                </li>
            </ul>
        </p>
    </body>
</html>
  1. 子選擇器:在某個元素後面的一代的指定標籤
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Title</title>

        <style>
            /* body後面的一代p標籤 */
            body > p {
                color: aqua;
            }
        </style>

    </head>
    <body>
        <p>p1</p>
        <p>p2</p>
        <p>
            <ul>
                <li>
                    <p>p3</p>
                </li>
                <li>
                    <p>p4</p>
                </li>
                <li>
                    <p>p5</p>
                </li>
            </ul>
        </p>
    </body>
</html>
  1. 相鄰兄弟選擇器:和某一元素同一層的下一個指定標籤
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Title</title>

        <style>
            /* 和test同一層的下一個p標籤 */
            .test + p {
                color: aqua;
            }
        </style>

    </head>
    <body>
        <p>p0</p>
        <p class="test">p1</p>
        <p>p2</p>
        <p>p7</p>
        <p>
            <ul>
                <li>
                    <p class="test">p3</p>
                    <p>p6</p>
                </li>
                <li>
                    <p>p4</p>
                </li>
                <li>
                    <p>p5</p>
                </li>
            </ul>
        </p>
    </body>
</html>
  1. 通用選擇器:和某一元素同層的後面所有指定標籤
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Title</title>

        <style>
            /* 和test同一層的後面所有p標籤 */
            .test ~ p {
                color: aqua;
            }
        </style>

    </head>
    <body>
        <p>p0</p>
        <p class="test">p1</p>
        <p>p2</p>
        <p>p7</p>
        <p>
            <ul>
                <li>
                    <p class="test">p3</p>
                    <p>p6</p>
                    <p>p8</p>
                </li>
                <li>
                    <p>p4</p>
                </li>
                <li>
                    <p>p5</p>
                </li>
            </ul>
        </p>
    </body>
</html>

結構偽類選擇器

選擇器中有冒號的是偽類選擇器

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Title</title>

        <style>
            /* ul的第一個子元素 */
            ul li:first-child {
                color: aqua;
            }
            /* ul的最後一個子元素 */
            ul li:last-child {
                color: azure;
            }
        </style>

    </head>
    <body>
        <p>p1</p>
        <p>p2</p>
        <p>p3</p>
        <p>
            <ul>
                <li>l1</li>
                <li>l2</li>
                <li>l3</li>
            </ul>
        </p>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Title</title>

        <style>
            /* 選中p1 */
            /* 選擇當前p元素的父級元素body,
            再選擇父級元素的第一個子元素,
            且該子元素是p元素才會生效 */
            p:nth-child(1) {
                color: blue;
            }
            /* 選擇父元素下p元素的第二個 */
            p:nth-of-type(2) {
                color: blueviolet;
            }
        </style>

    </head>
    <body>
        <p>p1</p>
        <p>p2</p>
        <p>p3</p>
        <p>
            <ul>
                <li>l1</li>
                <li>l2</li>
                <li>l3</li>
            </ul>
        </p>
    </body>
</html>

屬性選擇器

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Title</title>

        <style>
            .demo a {
                float: left;
                display: block;
                height: 50px;
                width: 50px;
                border-radius: 10px;
                background: blue;
                text-align: center;
                color: gray;
                margin-right: 5px;
                font: bold 20px/50px Arial;
            }
            /* 選中標籤a中有id的 */
            /* a[id] {
                background: yellow;
            } */
            /* 選中標籤a中id為first的 */
            /* a[id=first] {
                font-size: 60px;
            } */
            /* 選中標籤a中class含有link的 */
            /* a[class*="link"] {
                background: yellow;
            } */
            /* 選中標籤a中href以https開頭的 */
            /* a[href^=https] {
                background: yellow;
            } */
            /* 選中標籤a中href以png結尾的 */
            a[href$=png] {
                background: yellow;
            }
        </style>

    </head>
    <body>
        <p class="demo">
            <a href="https://www.baidu.com" class="link item first" id="first">1</a>
            <a href="" class="link item second" target="_blank" title="test">2</a>
            <a href="img/1.png" class="link item">3</a>
            <a href="img/2.jpg" class="link item">4</a>
            <a href="img/3.png" class="link item">5</a>
            <a href="a.ppt" class="link item">6</a>
            <a href="a.xls" class="link item">7</a>
            <a href="a.doc" class="link item last">8</a>
        </p>
    </body>
</html>