CSS选择器总结

本文详细介绍了CSS选择器的基本概念和各种类型,包括标签选择器、类选择器、id选择器和通配符选择器,以及复合选择器如后代选择器、子选择器、并集选择器,并探讨了链接伪类和focus伪类在选择器中的应用。文章通过实例展示了选择器的用法,帮助读者理解和掌握CSS选择器的使用技巧。
摘要由CSDN通过智能技术生成

作者:爱塔居

专栏:JavaEE​​​​​

作者简介:大三学生,希望和大家一起进步!

在CSS中,选择器是选取需设置样式的元素的模式。要先选中元素,才能设置元素的属性。

二、基础选择器

作用特点
标签选择器能选出所有相同的标签不能差异化选择
类选择器能选出一个或多个标签根据需求选择,最灵活,最常用
id选择器能选出一个标签同一个id在一个HTML中只能出现一次
通配符选择器选择所有标签特殊情况下使用

2.1 标签选择器

🍓特点:

1.能快速把同一类型的标签都选出来

2.但是不能差异化选择

将所有p标签的颜色设置为cadeblue颜色,将div标签的颜色全设置为蓝色。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    p{
        color: cadetblue;
    }
    div{
        color:blue;
    }
    </style>
</head>
<body>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Et expedita non sapiente alias enim ut a accusamus laudantium suscipit. Earum ullam hic officia quibusdam id perferendis doloribus tempora nisi commodi.</p>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Iusto, provident? Iste eos soluta provident quam? Voluptatum magni officia harum facilis quo ullam cupiditate? Modi mollitia reprehenderit corporis explicabo ab iure.</p>
    <div>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur fugiat possimus mollitia enim laboriosam, dolores eligendi suscipit itaque quas. Aliquid odio explicabo debitis maiores mollitia ullam tenetur nisi perferendis quibusdam.</div>
    <div>Lorem ipsum dolor sit amet consectetur adipisicing elit. Exercitationem soluta praesentium quia sapiente mollitia expedita voluptates illo ipsum, minus officia libero maiores eos, earum eveniet quae quasi obcaecati nemo sequi.</div>
</body>
</html>

 生成:

2.2 类选择器

🍎特点:

1.差异化表示不同的标签

2.可以让多个标签的都使用同一个标签

🌵语法细节:

1.类名用.开头的

2.下方的标签使用class属性来调用

3.一个类可以被多个标签使用,一个标签也能使用多个类(多个类名能使用空格分隔,这种做法可以让代码更好复用)

4.如果是长的类名,可以使用-分割

5.不要使用纯数字、中文、标签名来命名类名

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    p{
        color: cadetblue;
    }
    div{
        color:blue;
    }
    .green{
        color: green;
    }
    .red{
        color: red;
    }
    </style>
</head>
<body>
    <p class="green">Lorem ipsum dolor sit amet consectetur adipisicing elit. Et expedita non sapiente alias enim ut a accusamus laudantium suscipit. Earum ullam hic officia quibusdam id perferendis doloribus tempora nisi commodi.</p>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Iusto, provident? Iste eos soluta provident quam? Voluptatum magni officia harum facilis quo ullam cupiditate? Modi mollitia reprehenderit corporis explicabo ab iure.</p>
    <div class="red">Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur fugiat possimus mollitia enim laboriosam, dolores eligendi suscipit itaque quas. Aliquid odio explicabo debitis maiores mollitia ullam tenetur nisi perferendis quibusdam.</div>
    <div>Lorem ipsum dolor sit amet consectetur adipisicing elit. Exercitationem soluta praesentium quia sapiente mollitia expedita voluptates illo ipsum, minus officia libero maiores eos, earum eveniet quae quasi obcaecati nemo sequi.</div>
</body>
</html>

效果: 

 注意:一个标签可以同时使用多个类名

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    p{
        color: cadetblue;
    }
    div{
        color:blue;
        
    }
    .green{
        color: green;
    }
    .red{
        color: red;
    }
    </style>
</head>
<body>
    <p class="green">Lorem ipsum dolor sit amet consectetur adipisicing elit. Et expedita non sapiente alias enim ut a accusamus laudantium suscipit. Earum ullam hic officia quibusdam id perferendis doloribus tempora nisi commodi.</p>
    <p class="green">Lorem ipsum dolor sit amet consectetur adipisicing elit. Iusto, provident? Iste eos soluta provident quam? Voluptatum magni officia harum facilis quo ullam cupiditate? Modi mollitia reprehenderit corporis explicabo ab iure.</p>
    <div class="red">Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur fugiat possimus mollitia enim laboriosam, dolores eligendi suscipit itaque quas. Aliquid odio explicabo debitis maiores mollitia ullam tenetur nisi perferendis quibusdam.</div>
    <div>Lorem ipsum dolor sit amet consectetur adipisicing elit. Exercitationem soluta praesentium quia sapiente mollitia expedita voluptates illo ipsum, minus officia libero maiores eos, earum eveniet quae quasi obcaecati nemo sequi.</div>
    
</body>
</html>

 2.3 id选择器

和类选择器类似

1.CSS中使用#开头,表示id选择器

2.id选择器的值和html中某个元素的id值相同

3.html的元素id不必带#

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    #green{
        color: green;
    }
   
    </style>
</head>
<body>
    <p id="green">Lorem ipsum dolor sit amet consectetur adipisicing elit. Et expedita non sapiente alias enim ut a accusamus laudantium suscipit. Earum ullam hic officia quibusdam id perferendis doloribus tempora nisi commodi.</p>
</body>
</html>

效果:

 2.3 通配符选择器

使用*的定义,选取所有的标签。

就比如下列代码,将所有内容设置为红色,不需要被页面结构调用。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    *{
        color: red;
    }
   
    </style>
</head>
<body>
    <div>Lorem ipsum dolor sit amet consectetur adipisicing elit. Doloremque eius dicta consequatur. Nihil nisi id est quibusdam deleniti, autem rerum consequatur nesciunt perspiciatis! Nam atque debitis obcaecati excepturi expedita saepe?</div>
    <div>Lorem ipsum dolor sit amet consectetur adipisicing elit. Animi ex saepe quam, a eos voluptates delectus neque voluptatibus reiciendis eveniet quaerat obcaecati. Eligendi perferendis delectus, ipsa quas repudiandae non autem!</div>
    <p id="green">Lorem ipsum dolor sit amet consectetur adipisicing elit. Et expedita non sapiente alias enim ut a accusamus laudantium suscipit. Earum ullam hic officia quibusdam id perferendis doloribus tempora nisi commodi.</p>
</body>
</html>

效果:

 三、复合选择器

选择器作用注意事项
后代选择器选择后代元素可以是孙子元素
子选择器选择子元素只能选亲儿子,不能选孙子
并集选择器选择相同样式的元素更好地做到代码复用
链接伪类选择器选择不同状态的链接重点掌握a:hover的写法
:focuse伪类选择器选择被选中的元素重点掌握input:focus

3.1 后代选择器

选择某个父元素中的某一个子元素

元素1 元素2 {样式声明}

元素1和元素2要使用空格分割

元素1是父级,元素2是子级,只选元素2,不影响元素1

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    ul li{
        color: red;
    }
    ol li{
        color:green
    }
    </style>
</head>
<body>
  <ul>
<li>111</li>
<li>222</li>
  </ul>
  <ol>
    <li>333</li>
    <li>444</li>
  </ol>
</body>
</html>

 也可以是孙子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    ul div{
        color: red;
    }
    ol li{
        color:green
    }
    </style>
</head>
<body>
  <ul>
<li>111</li>
<li><div>222</div></li>
  </ul>
  <ol>
    <li>333</li>
    <li>444</li>
  </ol>
</body>
</html>

3.3 子选择器 

和后代选择器类似,但只能选择子标签

元素1>元素2 {样式声明}

使用大于号分隔

只选亲儿子,不选孙子元素

<div class="two">

        <a href="#">链接1</a>

        <p><a href="#">链接2</a></p>

<div>

后代选择器的写法,会把链接1和2都选中

.two a{

color:red;

}

子选择器的写法,只选链接1

.two>a{

color:red;

}

3.4 并集选择器

用于选择多组标签(集体声明)

元素1,元素2{样式声明}

1.通过逗号分割多个元素

2.表示同时选中元素1和元素2

3.任何基础选择器都可以使用并集选择器

4.并集选择器建议竖着写,每个选择器占一行。(最后一个选择器不能加逗号)

代码示例:

<div>苹果</div>

<h3>香蕉</h3>

<ul>

        <li>鸭梨</li>

        <li>橙子</li>

</ul>

1.把苹果和香蕉颜色改成红色

div,

h3{

        color;red;

}

2.把鸭梨和橙子也一起改成红色

div,

h3,

ul>li{

        color:red;

}

3.5 伪类选择器

3.5.1 链接伪类选择器

a:link 选择未被访问过的链接

a:visited 选择已经被访问过的链接

a:hover 选择鼠标指针悬停上的链接

a:active 选择活动链接(鼠标按下但是未弹起)

示例:

<a href="#">小猫</a>

a:link{

        color:black;

        text-decoration:none;

}

a:visited{

        color:green;

}

a:hover{

        color:red;

}

a:active{

        color:blue;

}

🍇如何让一个已经被访问过的链接恢复成未访问的状态?

ctrl+shift+delete

【注意】

1.按照LVHA{link,visited,hover,active)的顺序书写,否则会记忆规则“绿化”。

2.浏览器的a标签都有默认样式,一般实际开发都需要单独制定样式。

3.实际开发主要给链接做一个样式,然后给hover做一个样式即可。

3.5.2 focus伪类选择器

选取获取焦点的input表单元素。

<div class="three">

        <input type="text">

        <input tepe="text">

         <input type="text">

         <input type="text">

</div>

.three>input:focus{

        color:red;

}

此时被选中的表单的字体就会变成红色。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值