• 二、CSS选择器


    一、CSS选择器

    1. 标签选择器:

      标签选择器,此种选择器影响范围大,建议尽量应用在层级选择器中。

      举例:

    *{margin:0;padding:0}
    div{color:red}   
    
    
    <div>....</div>         <!-- 对应以上两条样式 -->
    <div class="box">....</div>  <!-- 对应以上两条样式 -->

       练习:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>css选择器</title>
    
        <style type="text/css">
            *{                       /* 给所有标签设置样式 */
                font-size: 20px;
            }
    
            div{                    /* 给div标签设置样式 */
                color: red;
            }
    
        </style>
    
    </head>
    <body>
        
        <div>这是第一个div</div>
        <div>这是第二个div</div>
        <div>这是第三个div</div>
    
        <p>这是一个p标签</p>
    
    </body>
    </html>

      预览效果:

    2. id 选择器:

       通过id名来选择元素,元素的id名称不能重复,所以一个样式设置项只能对应于页面上一个元素,不能复用,id名一般给程序使用,所以不推荐使用id作为

      选择器。

      举例:

    #box{color:red} 
    
    <div id="box">....</div>   <!-- 对应以上一条样式,其它元素不允许应用此样式 -->

      练习:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>css选择器</title>
    
        <style type="text/css">
            *{                        /* 给所有标签设置样式 */
                font-size: 20px;
            }
    
            div{                    /* 给div标签设置样式 */
                color: red;
            }
    
            /* 层叠样式表,下面的样式覆盖上面的样式 */
            #div1{                    /* 使用id选择器 */
                color: blue;
            }
    
        </style>
    
    </head>
    <body>
        
        <div id="div1">这是第一个div</div>
        <div>这是第二个div</div>
        <div>这是第三个div</div>
    
        <p>这是一个p标签</p>
    
    </body>
    </html>

      预览效果:

    3. 类选择器:

      通过类名来选择元素,一个类可应用于多个元素,一个元素上也可以使用多个类,应用灵活,可复用,是css中应用最多的一种选择器。
      举例:

    .red{color:red}
    .big{font-size:20px}
    .mt10{margin-top:10px} 
    
    <div class="red">....</div>
    <h1 class="red big mt10">....</h1>
    <p class="red mt10">....</p>

      练习:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>css选择器</title>
    
        <style type="text/css">
            *{                        /* 给所有标签设置样式 */
                font-size: 20px;
            }
    
            div{                    /* 给div标签设置样式 */
                color: red;
            }
    
            /* 层叠样式表,下面的样式覆盖上面的样式 */
            #div1{                    /* 使用id选择器 */
                color: blue;
            }
    
            .green{                    /* 类选择器 */
                color: green;
            }
    
            .big{
                font-size: 40px;
            }
    
    
        </style>
    
    </head>
    <body>
        
        <div id="div1" class="big green">这是第一个div</div>    <!-- id的权重要高于class,id起作用 -->
        <div class="green big">这是第二个div</div>
        <div>这是第三个div</div>
    
        <p class="green">这是一个p标签</p>
    
    </body>
    </html>

      预览效果:

    4. 层级选择器:

      主要应用在选择父元素下的子元素,或者子元素下面的子元素,可与标签元素结合使用,减少命名,同时也可以通过层级,防止命名冲突。
      举例:

    .box span{color:red}
    .box .red{color:pink}
    .red{color:red}
    
    <div class="box">
        <span>....</span>
        <a href="#" class="red">....</a>
    </div>
    
    <h3 class="red">....</h3>

      练习:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>层级选择器</title>
    
        <style type="text/css">
            
            .box{
                font-size: 20px;
                line-height: 40px;
            }
    
            .box span{        /* 层级选择器,.box下面的span */
                color: red;
                font-weight: bold;
            }
    
        </style>
    
    </head>
    <body>
        
        <div class="box">
            主要应用在选择父元素下的子元素,或者子元素下面的<span>子元素</span>,可与标签元素结合使用,减少命名,同时也可以通过层级,防止命名冲突。
        </div>
    
        <div class="box2">
            主要应用在选择父元素下的子元素,或者子元素下面的<span>子元素</span>,可与标签元素结合使用,减少命名,同时也可以通过层级,防止命名冲突。
        </div>
    
    </body>
    </html>

      预览效果:

     

    5. 组选择器:

      多个选择器,如果有同样的样式设置,可以使用组选择器。
      举例:

    .box1,.box2,.box3{100px;height:100px}
    .box1{background:red}
    .box2{background:pink}
    .box2{background:gold}
    
    <div class="box1">....</div>
    <div class="box2">....</div>
    <div class="box3">....</div>

      练习:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>组选择器</title>
        <style type="text/css">
            
            /* 法一:分别描述 */
            /* 
            .box01{
                font-size: 20px;
                text-indent: 40px;
                color: red;
            }
            .box02{
                font-size: 20px;
                text-indent: 40px;
                color: pink;
            }
            .box03{
                font-size: 20px;
                text-indent: 40px;
                color: gold;
            }
             */
    
            /* 法二:将相同的描述抽离出来,合并到一起 */
            .box01,.box02,.box03{        /* 层级选择器是空格隔开,组选择器是逗号隔开 */
                font-size: 20px;         /* 组选择器:将公共的部分合并到一起 */
                text-indent: 40px;
            }
    
            .box01{
                color: red;
            }
            .box02{
                color: pink;
            }
            .box03{
                color: gold;
            }
    
        </style>
    
    </head>
    <body>
    
        <div class="box01">这是第一个div</div>
        <div class="box02">这是第二个div</div>
        <div class="box03">这是第三个div</div>
    
    </body>
    </html>

      预览效果:

     

    6. 伪类及伪元素选择器:

      常用的伪类选择器有hover,表示鼠标悬浮在元素上时的状态,伪元素选择器有before和after,它们可以通过样式在元素中插入内容。
      举例:

    .box1:hover{color:red}
    .box2:before{content:'行首文字';}
    .box3:after{content:'行尾文字';}
    
    
    <div class="box1">....</div>
    <div class="box2">....</div>
    <div class="box3">....</div>

      练习:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>伪类及伪元素选择器</title>
        
        <style type="text/css">
            
            .link{
                font-size: 30px;
                text-decoration: none;        /* 去掉下划线 */
                color: green;
            }
    
            /* 伪类选择器: */
            .link:hover{    /* 鼠标放上去之后的悬浮状态 */
                color: gold;
                font-weight: bold;    /* 加粗 */
            }
    
            /* 伪元素选择器: 通常解决bug时使用*/
            .box01,.box02{
                font-size: 20px;
            }
    
            .box01:before{        /* 前面塞入东西,塞的东西在网页中鼠标是选不中的 */
                content: "前面的文字";    
                color: red;
            }
    
            .box02:after{        
                content: "后面的内容";    
                color: red;
            }
    
        </style>
    
    </head>
    <body>
        
        <a href="http://www.baidu.com" class="link">百度一下</a>
        
        <div class="box01">这是第一个div</div>
        <div class="box02">这是第二个div</div>
    
    </body>
    </html>

      预览效果:

     

  • 相关阅读:
    ReactNative 打包 APK
    ReactNative常用命令
    ReactNative之坑:停在gradle一直出点
    Python搭建Web服务器,与Ajax交互,接收处理Get和Post请求的简易结构
    tensorflow 安装升级
    sqlserver 全库查询 带架构
    气象数据资料整理
    poj2841
    cf1430e
    cf1436d
  • 原文地址:https://www.cnblogs.com/si-lei/p/10920715.html
Copyright © 2020-2023  润新知