博客列表 >选择器使用(标签、属性, 兄弟, 类型, 伪类) 2019年07月04日 23时 20分

选择器使用(标签、属性, 兄弟, 类型, 伪类) 2019年07月04日 23时 20分

高明博客
高明博客原创
2019年07月14日 00:21:18439浏览

本次标签选择器、id选择器,类选择器、伪类选择器进行了深入学习,对css选择器有了更深一步认识,针对后期系统开发,相信会起到很好的协助作用。

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选择器使用(标签、属性, 兄弟, 类型, 伪类)</title>
    <style>
        /**标签选择器**/
        ul {
            /*border: 1px solid coral;*/
            margin: 0 auto;
            padding-left: 0;
        }

        ul li{
            list-style: none;
            width: 60px;
            height: 40px;
            background-color: chocolate;

            /*设置文本水平垂直居中*/
            text-align: center;
            line-height: 40px;

            /*设置并排显示*/
            display: inline-block;

            padding-left: 10px;

            /*设置阴影参数:向右边、向下面、扩散、颜色*/
            box-shadow: 3px 2px 1px #888;
        }


        /*id选择器*/
        #green{
            /*background-color: green;*/
        }

        /*类选择器*/
        .bg-yellow{
            /*background-color: yellow;*/
        }

        /*属性选择器*/
        li[class="bg-yellow"]{
            /*background-color:yellowgreen;*/
            /*border: 1px solid red;*/
        }

        /*群组选择器,会选中苹果、桃子、梨子、西瓜、榴莲*/
        .red,#green,.bg-yellow{
            background-color: #FF0000;
            border: 2px dotted #ffb3ac;
        }

        /*相邻选择器*/
        /* 第5个元素西瓜相邻的是第6个元素西红柿**/
        #green + *{
            /*background-color: yellowgreen;*/
        }


        /*伪类:子元素选择器*/
        ul :first-child{
            /**background-color: yellowgreen;**/  /**选中第一个子元素:苹果**/
        }

        ul :last-child{
            /**background-color: yellow;**/ /**选中最后一个子元素:榴莲**/
        }

        /*指定选择第3个子元素:桃子,从1开始计数*/
        ul :nth-child(3){
            /*background-color: yellow;*/
        }

        /*倒数第2个,指定山竹子元素*/
        ul :nth-last-child(2){
            /*background-color: greenyellow;*/
        }


        /*伪类:类型选择器*/

        /**选择第一个li类型元素,苹果**/
        ul li:first-of-type{
            /*background-color: green;*/
            /*color: white;*/
        }

        /**选择最后一个li类型元素,榴莲**/
        ul li:last-of-type{
            /*background-color: #ffb3ac;*/
            /*color: #FF0000;*/
        }

        /**选择第6个li类型元素,西红柿**/
        ul li:nth-of-type(6){
            background-color: #ffb3ac;
        }

        /**选择倒数第4个li类型元素,西红柿**/
        ul li:nth-last-of-type(4){
            /*background-color: #ffb3ac;*/
        }


        /* 我们发现, 伪类中的子元素选择器与类型选择器的功能几乎是一样的,那我们应该用哪个呢? */
        /* 这二种伪类选择器关注点不同, 子元素选择器的重点是 "child" 关键字上,关注的是子元素位置 */

        /* 而类型选择器关注点在 "type" 关键字上,重点是元素的类型 */

        /*:nth-child(m): 关注位置*/
        /*:nth-of-type(n): 除了关注关注位置外, 还需要元素的类型匹配*/
        /*li:nth-child(m): 如果这样写, 那么与 li:nth-of-type(n)功能几乎一样*/



        /* 选中每个div中的第一个子元素背景设置为绿色, 玛利亚和CSSS变色 */
        div :nth-child(1){
            /*background-color: green;*/
        }

        /*如果只想选中"CSS",变成黄色该怎么办呢?*/
        /*分析:CSS是第二个div中第一个元素h2标签的内容,而且第二个div的第一个元素是h2*/
        h2:nth-child(1){
            background-color: yellow;
        }

        /* 如果我要选择只有一个子元素且子元素为h2,应该如何做?
         此时, 只有第二个div有一个h2元素,必须落选,所以只有第二个div中的h2被选中*/

        /*给第二个div的第一个元素 css变色*/
        h2:only-of-type{
            background-color: gray;
        }

        /*伪类:表单控件*/


        /**选择可用控件,背景颜色设置绿色**/
        form :enabled{
            /*background-color: green;*/
        }

        /**选择禁用控件,背景颜色设置灰色**/
        form :disabled{
            /*background-color: gray;*/
        }

        /* 当在控件中输入无效值文本自动变成红色 */
        /*例如邮箱文本框,如果输入的不是一个有效的邮箱格式字符串, 就会实时的用颜色提示用户的*/
        form :invalid {
            color: red;
        }

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

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

    </style>

</head>
<body>

<!--演示基本选择器-->
<ul>
    <li class="red">苹果</li>
    <li class="bg-yellow">梨子</li>
    <li class="bg-yellow">桃子</li>
    <li>桔子</li>
    <li id="green">西瓜</li>
    <li>西红柿</li>
    <li>黄瓜</li>
    <li>山竹</li>
    <li class="bg-yellow">榴莲</li>
</ul>

<!-- 演示伪类选择器中的子元素与类型选择器之间的区别与联系 -->
<div>
    <p>玛利亚</p>
    <p>卡丽</p>
    <p>张三丰</p>
</div>

<div>
    <h2>CSS</h2>
    <p>JavaScript</p>
    <p>PHP</p>
</div>


<!-- 演示表单选择器 -->
<form action="">
    <h1>登录后台</h1>
    <p>
        <label for="email">邮箱:</label>
        <input type="email" id="email">
    </p>

    <p>
        <label for="password">密码:</label>
        <input type="password" id="password" disabled>
    </p>

    <p>
        <input type="radio" id="week" name="save" value="7" checked><label for="week">保存一周</label>

    </p>
    <p>
        <input type="radio" id="month" name="save" value="30"><label for="month">保存一月</label>
    </p>
    <p>
        <button>登录</button>
    </p>
</body>
</html>

运行实例 »

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


本地运行截图:0704.png


总结,工作中,更多用到的是标签选择器、class选择器、后代选择器、群组选择器,这几种选择器配合使用,最终才能完美呈现想要网页布局的效果。

具体个人对这几种选择器的理解如下:
标签选择器:顾名思义,直接写标签名,统一定义网页中所有用到此标签的样式;
class选择器:又称类选择器,主要针对一批需要统一设置样式的代码行,使用的一种选择器,使用比较灵活,工作中更是经常用到;
id选择器:在网页中,词选择器具有唯一性,一单定义不能重复,样式使用优先级别比较高;
群众选择器:顾名思义,标签样式、类样式、id样式如果需设置统一属性,可以一起设置样式规则;


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