CSS的选择器

选择器是什么?

CSS选择器是CSS规则的第一部分,它是选择HTML元素的方式。

<html>
 <body>
   <p>选我</p>
   <div>还是选我</div>
   <span>或者是选我</span>
   <nav>又或者是选我</nav>

 p {
   color: red;
   font-size: 16px;
 }


<!-- p 是选择标签,red和16px是CSS属性 -->

 </body>
</html>

CSS的基础选择器


<html> 
<body> 
<p>选我</p> 
<div>还是选我</div> 
<span>或者是选我</span> 
<nav>又或者是选我</nav> 
p {
 color: red; 
font-size: 16px; 

} <!-- p 是选择标签,red和16px是CSS属性 --> 

</body> 
</html>

CSS的类型选择器

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>css的类型选择器</title>
    <style>
        div {
            background-color: lightblue;
            
        }
        p {
            color: red;
            font-size: 20px;
        }
        h1 {
            color: blue;
            font-size: 30px;
        }
        
        ul {
            color: #076b92;
        }
        
    </style>
</head>

<body>
    <!-- 类型选择器 标签选择器 元素选择器 -->
    <div>
        <p>我是段落</p>
        <h1>我是标题</h1>
    </div>
    <ul>
        <li>我是列表项1</li>
        <li>我是列表项2</li>
        <li>我是列表项3</li>
        <li>我是列表项4</li>
    </ul>
</body>

</html>

CSS的类选择器

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS的类选择器</title>

    <style>
        /* 类选择器 选择一个或者多个 差异化选择 */
        .box {
            color: blueviolet;
            background-color: lightblue;
            size: 30px;
        }
    </style>

</head>

    <div>
    <div>
        <p class="box">我是段落</p>
        <h1>我是标题</h1>
    </div>
    <ul>
        <li class="box">我是列表项1</li>
        <li>我是列表项2</li>
        <li>我是列表项3</li>
        <li>我是列表项4</li>
    </ul>

</body>

</html>

CSS的id选择器

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>css的id选择器</title>
    <style>
        #box {
            background-color: lightblue;
            color: blue;
            font-size: 30px;
        }
    </style>
</head>


<body>
    <div>
        <p id="box">我是段落</p>
        <h1>我是标题</h1>
    </div>
    <ul>
        <li>我是列表项1</li>
        <li id="box">我是列表项2</li> <!-- 给列表项2添加id属性 浏览器可以正常显示,但是不允许这么写 -->
        <li>我是列表项3</li>
        <li>我是列表项4</li>
    </ul>

</body>

</html>

内容块​类型选择器相当于名字,可以重复使用,id选择器相当于身份证号码,是唯一的,不可重复的。

CSS的通配符选择器

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>通配符选择器</title>
</head>
<style>
    * {
        color: red;
        margin: 0; /* 重置所有元素的外边距 */ 
        padding: 0; /* 重置所有元素的内边距 */

    } 
</style>
<body>

</body>

</html>
注意​选择器的总结:

CSS的关系选择器 *

内容块​关系选择器是通过位置关系来选择目标元素(标签),可以更精准选择某些元素,常见如下: *

后代选择器

内容块​选择某个元素的后代元素(不限层级,包括子元素,孙元素)

<!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>
        /* 后代选择器 */        
        div a {                  /* 这里把div换成footer是一样 */
            color: chocolate;
        }

        .nav li a {                   /* 这里把nav换成ul也是一样 */
            color: blueviolet;
            font-size: 20px;
        }
    </style>


</head>

<body>
    <ul class="nav">
        <li><a href="#">我是超链接1</a></li>
        <li><a href="#">我是超链接2</a></li>
        <li><a href="#">我是超链接3</a></li>
        <li><a href="#">我是超链接4</a></li>
    </ul>
    <div class="footer">

        <p>我是段落1</p>
        <p>我是段落2</p>
        <p>我是段落3</p>
        <a href="#">关于我们</a>
        <a href="#">联系我们</a>
        <a href="#">隐私政策</a>

    </div>

CSS的子代选择器

HTML代码为:

<!-- 子代选择器-->
    <div>
        <span>我是段落1</span>
        <p><span>我是段落2</span></p>
        <p>我是段落3</p>
    </div>

CSS样式代码为:

<style>
div > span {
            color: red;
            background-color: yellowgreen;
        }
    </style>

CSS的邻接兄弟选择器

<!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>
/* 邻接兄弟选择器 */
        .box+p {
            color: orange;
            font-size: 26px;
		}
    </style>
    </head>

 <body>
    <!-- 邻接兄弟选择器 -->    
    <div class="box">
        <p>我是邻接兄弟选择器</p>
        <p>我是邻接兄弟选择器</p>
        <h2>我是邻接兄弟选择器</h2>
        <p>我是邻接兄弟选择器</p>
        <p>我是邻接兄弟选择器</p>
    </div>    
  </body>
</html>

浏览器解析效果如图:

 

CSS的通用兄弟选择器

<!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: orange;
            font-size: 26px;
		}
    </style>
    </head>

 <body>
    <!-- 兄弟选择器 -->    
    <div class="box-1">
        <p>我是段落1</p>
        <p>我是段落2</p>
        <h2>我是标题1</h2>
        <p>我是段落3</p>
        <p>我是段落4</p>
    </div>    
  </body>
</html>

浏览器解析效果如图:

 

关系选择器总结:

 

 

上一篇 CSS的位置分类-内部,内联和外部样式
下一篇 发现一个宝藏网站:把CSS Grid变成种菜游戏,新手也能轻松上手