万象更新 Html5 - css: selector 选择器: 伪类(pseudo class)

源码 https://github.com/webabcd/Html5
作者 webabcd

万象更新 Html5 - css: selector 选择器: 伪类(pseudo class)

示例如下:

css\src\selector\demo4.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>伪类(pseudo class)</title>
    <!-- 引用外部样式表
    <link rel="stylesheet" type="text/css" href="style.css" />
    -->
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        /*
            伪类用于为类选择器添加特殊的效果
        */

        /* 匹配的是根元素,即 html 元素 */
        :root { font-size: 18px; }

        /* 未访问的链接 */
        .mya:link { color: red }
        /* 访问过的链接 */
        .mya:visited { color: green }
        /* 鼠标移动到链接上 */
        .mya:hover { color: blue }
        /* 鼠标在链接上按下 */
        .mya:active { color: orange }
        /* 可获取焦点元素获取到了焦点 */
        .mya:focus { color: purple }

        /* 匹配的是 div 的 lang 属性值为 abc 的元素 */
        div:lang(abc) { color: green; }

        /* 寻找 .c1 的儿子辈的第 1 个元素,如果其是 div 元素则匹配 */
        .c1 div:first-child { color: red; }
        /* 寻找 .c2 的儿子辈的倒数第 1 个元素,如果其是 div 元素则匹配 */
        .c2 div:last-child { color: red; }
        /* 匹配 .c3 的儿子辈的所有 div 元素中的第 1 个 */
        .c3 div:first-of-type { color: red; }
        /* 匹配 .c4 的儿子辈的所有 div 元素中的倒数第 1 个 */
        .c4 div:last-of-type { color: red; }

        /*
            下面这几个伪类都有个参数,此参数说明如下:
            1、一个 1...n 的整型值:1 代表第 1 个子元素
            2、类似 3x + 1 的值,其中的 x 会从 0...n 取值,所以其代表第 1, 4, 7... 个子元素
            3、odd - 匹配奇数位置的子元素,即第 1, 3, 5... 个元素
            4、even - 匹配偶数位置的子元素,即第 2, 4, 6... 个元素
        */
        /* 寻找 .c5 的儿子辈的第 2 个元素,如果其是 div 元素则匹配 */
        .c5 div:nth-child(2) { color: red; }
        /* 寻找 .c6 的儿子辈的倒数第 2 个元素,如果其是 div 元素则匹配 */
        .c6 div:nth-last-child(2) { color: red; }
        /* 匹配 .c7 的儿子辈的所有 div 元素中的第 2 个 */
        .c7 div:nth-of-type(2) { color: red; }
        /* 匹配 .c8 的儿子辈的所有 div 元素中的倒数第 2 个 */
        .c8 div:nth-last-of-type(2) { color: red; }

        /* 如果 .c9 的儿子辈只有一个元素,且这个元素是 div 元素,则匹配 */
        .c9 div:only-child { color: red; }
        /* 如果 .c10 的儿子辈的所有元素中只有一个 div 元素,则匹配 */
        .c10 div:only-of-type { color: red; }
        /* 如果 .c11 中的 div 没有任何子元素,则匹配 */
        .c11 div:empty { width: 100px; height: 20px; background-color: red }

        /* 匹配 .c12 中的非 span 类型的元素。注:not(selector) 的参数是一个 css 选择器,比如 not([type="submit"]) 等都是可以的 */
        .c12 :not(span) { color: red }
        /* 匹配 .c13 中的所有 enabled 状态的元素 */
        .c13 :enabled { color: red }
        /* 匹配 .c13 中的所有 disabled 状态的元素 */
        .c13 :disabled { color: green }
        /* 匹配 .c13 中的所有 checked 状态的元素 */
        .c13 :checked { width: 50px; height: 50px }
    </style>
</head>
<body>

<div>
    <a href="http://webabcd.cnblogs.com" target="_blank" class="mya">webabcd.cnblogs.com</a>
</div>
<br />

<div lang="abc">webabcd</div>
<br />

<div class="c1">
    <div>abc</div>
    <div>xyz</div>
</div>
<br />

<div class="c2">
    <div>abc</div>
    <div>xyz</div>
</div>
<br />

<div class="c3">
    <div>abc</div>
    <div>xyz</div>
</div>
<br />

<div class="c4">
    <div>abc</div>
    <div>xyz</div>
</div>
<br />

<div class="c5">
    <div>aaa</div>
    <div>bbb</div>
    <div>ccc</div>
    <div>ddd</div>
</div>
<br />

<div class="c6">
    <div>aaa</div>
    <div>bbb</div>
    <div>ccc</div>
    <div>ddd</div>
</div>
<br />

<div class="c7">
    <div>aaa</div>
    <div>bbb</div>
    <div>ccc</div>
    <div>ddd</div>
</div>
<br />

<div class="c8">
    <div>aaa</div>
    <div>bbb</div>
    <div>ccc</div>
    <div>ddd</div>
</div>
<br />

<div class="c9">
    <div>aaa</div>
</div>
<br />

<div class="c10">
    <div>aaa</div>
</div>
<br />

<div class="c11">
    <div></div>
    <div>bbb</div>
</div>
<br />

<div class="c12">
    <span>aaa</span>
    <div>bbb</div>
    <span>ccc</span>
</div>
<br />

<div class="c13">
    <button>aaa</button>
    <button disabled>bbb</button>
    <input type="checkbox"  checked />
</div>
<br />

</body>
</html>

源码 https://github.com/webabcd/Html5
作者 webabcd

posted @ 2024-09-24 10:39  webabcd  阅读(8)  评论(0编辑  收藏  举报