博客列表 >演示CSS中的常用选择器2019.4.25

演示CSS中的常用选择器2019.4.25

三生石的博客
三生石的博客原创
2019年05月08日 21:27:01662浏览

演示CSS中的常用选择器

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选择器</title>
    <style>
        /*标签选择器*/
        ul {
            border: 10px double darkkhaki;
            margin: 0 auto;
            padding: 15px 0;
        }

        /*层级选择器(后代选择器):选择ul的后代元素(也叫子元素)*/
        ul li {
            list-style: none;
            width: 60px;
            height: 60px;
            background-color: darkcyan;

            /*设置文本水平垂直居中,其中垂直居中因为是单行文本,按照当前元素高度一致就可以*/
            text-align: center;
            line-height: 60px;

            /*设置内联块,使多个块元素可以显示在一行中*/
            display: inline-block;

            /*设置圆角度,50%或者宽度的一半都行,建议设置50%,这样宽度改变后就无需再重新设置圆角度*/
            border-radius: 50%;

            /*增加左外边距*/
            margin-left: 10px;

            /*添加阴影,增加小球的美化效果*/
            box-shadow: 8px 8px 5px #888888;
        }


        /*id选择器(规范一个id在页面中只使用一次*/
        #bg_red {
            background-color: lightcoral;
        }

        /*类选择器,可以进行复用*/
        .bg_green {
            background-color: lawngreen;
        }

        /*属性选择器(li后面不能加空格,否则就变成后代选择器*/
        li[id = bg_red]{
            border: 2px solid palegreen;
        }

        /*群组选择器*/
        #bg_red, .bg_green {
            border: 2px solid blue;
        }

        /*相邻选择器,第二个小球相邻的是第三个小球,可以用li,也可以用*号,用li语义化更强一些*/
        #bg_red + li {
            /*background-color: yellow;*/
        }

        /*兄弟同级选择器,第二个小球后面的所有同级兄弟元素都被选中*/
        #bg_red ~ * {
            /*background-color: yellow;*/
        }

        /*伪类,子元素选择器*/
        ul :first-child {
            background-color: red;
            /*first-child,代表第一个小球,背景变为红色*/
        }
        ul :last-child {
            background-color: red;
            /*last-child,代表最后一个小球,背景变为红色*/
            /* 因优先级问题,需要把前面的兄弟选择器注释掉*/
        }
        /*直接指定子元素,从1开始计数*/
        ul :nth-child(6) {
            background-color: red;
            /*选择到第六个小球,指定背景色为红色*/
        }
        /*:nth-last-child(n): 倒数第n个*/
        ul :nth-last-child(3) {
            background-color: red;
            /*倒数第3个小球为第8个小球,所以结果是选择到第8个小球,指定背景色为红色*/
        }

        /*伪类类型选择器*/
        ul li:first-of-type {
            background-color: darkorchid;
            color: white;
            /* 第一个li类型的元素背景为紫色,字体颜色为白色 */
        }
        ul li:last-of-type {
            background-color: darkorchid;
            color: white;
            /* 最后一个li类型的元素背景改为紫色,字体为白色 */
        }
        ul li:nth-of-type(7) {
            background-color: darkorchid;
            color: white;
            /* 选择第7个li类型的元素背景紫色,字体白色 */
        }

        /*:nth-child():关注点在子元素的“位置”*/
        /*:nth-of-type():关注点在子元素的“类型”*/

        /* 选中每个div中的第二个子元素背景设置为浅绿色, 结果为222、555 */
        div :nth-child(2) {
            background-color: lightgreen;
        }

        /*先选中第一个的div块, 再去选择对应的第3个子元素*/
        div:first-of-type  :nth-child(3){
            /*background-color: lightblue;*/
        }

        div p:nth-of-type(2) {
            background-color: yellow;
        }
        /* 这是个标签选择器,因优先级问题,需要把前面的类选择器注释掉,因为标签选择器优先级小于类选择器*/
        /*分析:第一个div有2个p标签,而第二个div中只有1个p标签,所以第二个div就会pass掉,如果在第二个div中再添加一个p标签,结果会是第二个div中的第二个p标签会被选中*/
        /*总结:div:first-of-type  :nth-child(3)  =======  p:nth-of-type(2)   所以正常要首选伪类选择器*/

        /*伪类:表单控件*/
        form :enabled {
            background-color: wheat;
            /*当表单元素可用时,将背景设置成小麦色*/
            /*禁用表单元素为disabled,禁用后背景不会变化*/
        }

        /*将单选按钮中的文本前景色设置为红色,使用了伪类和相邻选择器*/
        /*选择的过程是:先获取到当前被选中的按钮,再获取他的相邻子元素,也就是label标签,再将label的文本设置为红色*/
        form :checked + label {
            color: red;
        }
        /* 上面可以不用label, 用"*"号代替label也可以*/

        /*当在控件中输入无效值时文本自动变为红色*/
        /*例如在邮箱文本框中,如果输入邮箱格式错误,文本颜色自动变为红色,可以随时进行提示*/
        form :invalid {
            color: red;
        }

        /*设置控件获取到焦点时的样式,控件获取到焦点时,背景变为浅绿色*/
        form :focus {
            background-color: lightgreen;
        }

        /*设置鼠标悬停时的样式*/
        button:hover {
            width: 56px;
            height: 28px;
            background-color: black;
            color: white;
            border: none;
        }

    </style>
</head>
<body>
<ul>
    <li class="bg_green">1</li>
    <li id="bg_red">2</li>
    <li class="bg_green">3</li>
    <li class = bg_green>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
</ul>
<br>
<hr>
<br>
<!--演示伪类选择器中的子元素与类型选择器-->
<div>
    <p>111</p>
    <li>222</li>
    <p>333</p>
</div>
<br>
<div>
    <p>444</p>
    <li>555</li>
</div>
<br>
<hr>
<br>
<!--演示表单选择器-->
<h2>用户登陆</h2>
<form action="">
    <p>
        <label for="email">邮箱:</label>
        <input type="email" name="" id="email">
    </p>
    <p>
        <label for="password">密码:</label>
        <input type="password" name="" id="password">
    </p>
    <p>
        <input type="radio" id="week" name="save" value="7" checked><label for="week">保存一周</label>
        <input type="radio" id="month" name="save" value="30"><label for="month">保存一月</label>
    </p>
    <p>
        <button>登录</button>
    </p>

</form>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议