CSS 选择器


行内样式:优先级最高,写在行内,确定代码量大,不利于修改

<div style="color: red">行内加字体样式为红色</div>

内部样式:耦合度降低,项目比较大的时候,会导致代码量很大,不利于团队开发

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        div{
            width: 100px;
            height: 100px;
            background-color: orange;
            color: aqua;
            font-size: 30px;
            font-weight: bolder;
        }
    </style>
</head>
<body>
    <div>内部样式</div>
</body>
</html>

外部样式:可以实现文件与样式分离,有益于团队合作,也可以实现样式公用

html代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" href="外部样式"/>
</head>
<body>
    <div>外部样式</div>
</body>
</html>

css代码

*{
    margin: 0;
    padding: 0;
}
div{
    width: 100px;
    height: 100px;
    background-color: orange;
    color: aqua;
    font-size: 30px;
    font-weight: bolder;
}

Ⅰ 标签选择器

作用:根据指定的标签名,在当前界面中找到所有该名称的标签,然后设置属性。
格式:
标签名{
属性:值;
}

注意点:

  1. 标签选择器选定的是当前界面中所有该名称的标签,而不能单独选定某一标签;
  2. 标签选择器无论标签藏得多深都能找到;
  3. 只要是html中的标签都可以作为标签选择器。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        div{
            width: 100px;
            height: 100px;
            color: orange;
            background-color: aqua;
        }
        p{
            font-size: 30px;
            color: green;
        }
        span{
            font-size: 50px;
            color: aquamarine;
            font-weight: bolder;
        }
    </style>
</head>
<body>
    <div>这是div</div>
    <p>这是p标签</p>
    <span>这是span标签</span>
</body>
</html>

Ⅱ id选择器

作用:根据指定的id名称找到对应的标签,然后设置属性。
格式:
#id{
属性:值;
}

注意点:

  1. 每一个HTML标签都有id属性,也就是说每个标签都可以设置id;
  2. 在同一个界面中id是不可重复的;
  3. 在编写id选择器的时候id前一定要加#;
  4. id的名称是有一定的规范的。
    4.1 id的名称只能有字母、数字、下划线组成;
    4.2 id名不能以数字开头;
    4.3 id名不能是关键字;
    4.4 在企业开发中一般如果仅仅是为了设置样式,我们不会使用id,应为id是为了给js使用的。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        #div1{
            width: 100px;
            height: 100px;
            color: orange;
            background-color: aqua;
        }
        #p1{
            font-size: 30px;
            color: green;
        }
        #span1{
            font-size: 50px;
            color: aquamarine;
            font-weight: bolder;
        }
    </style>
</head>
<body>
    <div id="div1">这是div</div>
    <p id="p1">这是p标签</p>
    <span id="span1">这是span标签</span>
</body>
</html>

Ⅲ 类选择器

作用:根据指定的类名称找到对应的标签,然后设置属性。
格式:
.类名{
属性:值;
}

注意点:

  1. 每一个HTML标签都有class属性,也就是说每个标签都可以设置class;
  2. 在同一个界面中class是不可重复的;
  3. 在编写id选择器的时候class前一定要加.;
  4. 类名的命名规范和id命名规范是一样的;
  5. 类名就是专门给某个特定的标签设置样式的;
  6. 在HTML中每个标签都可以同时绑定多个类名。
    格式:
    <标签名称 class=“类名1 类名2 …”>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        .div1{
            width: 100px;
            height: 100px;
            color: orange;
            background-color: aqua;
        }
        .div2{
            font-size: 40px;
        }
        .p1{
            font-size: 30px;
        }
        .p2{
            color: green;
        }
        .span1{
            font-size: 50px;
        }
        .span2{
            color: aquamarine;
            font-weight: bolder;
        }
    </style>
</head>
<body>
    <div class="div1 div2">这是div</div>
    <p class="p1 p2">这是p标签</p>
    <span class="span1 span2">这是span标签</span>
</body>
</html>

注:
一、id和class的区别
1.1
id相当于身份证,不可重复;
class相当于姓名,可以重复。
1.2
一个HTML标签只能绑定一个id属性
一个HTML标签可以绑定多个class属性
二、id选择器和class选择器的区别?
id选择器以#开头
class选择器以.开头
三、在企业开发中到底使用id选择器还是使用class选择器?
id一般情况下是给js使用的,所以除非特殊情况,否则不要用id去设置样式。
四、在企业开发中,一个开发人员对类的使用可以看出开发人员的水平如何。
一般情况下在企业开发中要注意代码的冗余代码的抽取,可以将一些公共的代码抽取到一个类选择器中。
然后让标签和类选择器绑定即可。

Ⅳ 特殊选择器

Ⅳ.Ⅰ 交集

给带有制定类名的标签设置属性

格式:
标签名.类名{
属性 : 值;
}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
    p.p1{
        color: red;
        font-size: 30px;
    }
    
    </style>
</head>
<body>
   <div class="div1">
       <div class="div2">
           <p class="p1">这是div2里的p</p>
           <span class="span1">
               <p class="p2">这是最内层的p</p>
           </span>
       </div>
       <p class="p1">这是div1里的p</p>
   </div>
</body>
</html>

Ⅳ.Ⅱ 并集

给所有选择器选中的标签设置属性。

格式:
选择器1,选择器2{
属性:值;
}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
      .p,.p1,.p2{
          color: orange;
          font-size: 30px;
      }

    </style>
</head>
<body>
   <div class="div1">
       <div class="div2">
           <p class="p">这是div2里的p</p>
           <span class="span1">
               <p class="p2">这是最内层的p</p>
           </span>
       </div>
       <p class="p1">这是div1里的p</p>
   </div>
</body>
</html>

Ⅳ.Ⅲ 后代

找到指定标签的所有后代标签,设置属性。

格式:
标签名称1 标签名称2{
属性:值;
}

先找名称是标签名称1的标签,然后在这个标签下面找到名称是标签名称2的标签,(标签名称2不能是id名 class类名) 然后再设置属性。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        div p{
            color: orchid;
            font-size: 25px;
        }
        .div2 span p{
            color: red;
        }

    </style>
</head>
<body>
   <div class="div1">
       <div class="div2">
           <p>这是div2里的p</p>
           <span>
               <p>这是最内层的p</p>
           </span>
       </div>
       <p class="p1">这是div1里的p</p>
   </div>
</body>
</html>

Ⅳ.Ⅳ 子元素选择器

作用:找到指定标签的所有特定直接子元素,设置属性。

格式:
标签名称1>标签名称2{
属性:值;
}

注意点:

  1. 子元素选择器只查找儿子,不查找其他嵌套的标签;
  2. 子元素选择器两个标签之间使用>来连接;
  3. 子元素选择器不仅可以使用标签,还可以使用其他选择器;
  4. 子元素选择器可以通过>一直延续下去。

注:

一、后代选择器和子元素选择器的区别?

后代选择器用空格连接;
子元素选择器用>连接。

2 .
后代选择器会指定后代标签中所有的特定后代标签;
子元素选择器只会选中指定标签中所有直接的子元素。

二、 后代选择器和子元素选择器的相同点?

  1. 子元素选择器和后代选择器都可以使用 标签名、类名、id名称来作为选择器;

  2. 后代选择器和子元素选择器都可以通过空格和>一直延续下去。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        div>p{
            color: orchid;
            font-size: 25px;
        }
        .div2>span>p{
            color: red;
        }

    </style>
</head>
<body>
   <div class="div1">
       <div class="div2">
           <p>这是div2里的p</p>
           <span>
               <p>这是最内层的p</p>
           </span>
       </div>
       <p class="p1">这是div1里的p</p>
   </div>
</body>
</html>

Ⅳ.Ⅴ 伪类

:hover用于把鼠标移动到元素上面时的效果;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        .div1{
            width: 100px;
            height: 100px;
            background-color: red;
            /*加入过渡效果*/
            -webkit-transition: 0.4s all;
        }
        /*鼠标放上去*/
        .div1:hover{
            width: 300px;
            height: 300px;
            background-color: mediumspringgreen;
        }
    </style>
</head>
<body>

    <div class="div1"></div>

</body>
</html>

:active用于点击元素那一下的效果(正发生在点的那一下,松开鼠标左键此动作也就完成了)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        .div1{
            width: 100px;
            height: 100px;
            background-color: red;
            /*加入过渡效果*/
            -webkit-transition: 0.4s all;
        }
        /*鼠标点击*/
        .div1:active{
            width: 600px;
            height: 600px;
            background-color: orange;
        }
    </style>
</head>
<body>

    <div class="div1"></div>

</body>
</html>

:focus用于元素成为焦点,这个经常用在表单元素上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值