css的选择器汇总

1.写在前面

  可能对于初学者来说,掌握了几种基本的选择器,而对于css提供的更加强大的选择器没有太多接触,但是随着学习的深入,代码量的增加,越发觉得css的其他选择器的重要性凸显而出。使用更加强的选择器,不仅方便而且大大减少了代码量,这里就总结的css的各种选择器。

当然这里只是列举了一部分,css的选择器是非常强大的,不过剩下的选择器的用法和我下面讲过的类似,大家只需要在需要的时候查阅开发文档即可。

2.基本的选择器

id选择器和class选择器

 1     <style>
      /*类选择器*/
2 .p1{ 3 color: red; 4 } 5 /*让p标签为p1类的采用的样式*/ 6 p.p1{ 7 color: blue; 8 } 9 /*id选择器*/ 10 #p1{ 11 color: yellow; 12 } 13 </style> 14 </head> 15 <body> 16 <p class="p1">这是一句话,class为p1</p> 17 <h1 class="p1">这是一个标题,class为p1</h1> 18 <p id="p1">这是一句话,id为p1</p> 19 </body>

3.分组选择器

分组选择器可以把统一样式应用在自己想要的不同场景。

 1     <style type="text/css">
 2     /*把h1-h3的标题设置为红色*/
 3 h1,h2,h3{
 4     color: red;
 5 }
 6 /*把h4-h6的标题设置为蓝色*/
 7 h4,h5,h6{
 8     color: blue;
 9 }
10     </style>
11 
12 </head>
13 <body>
14 <h1>这是1号标题</h1>
15 <h2>这是2号标题</h2>
16 <h3>这是3号标题</h3>
17 <h4>这是4号标题</h4>
18 <h5>这是5号标题</h5>
19 <h6>这是6号标题</h6>
20 </body>

4.嵌套选择器

嵌套选择器解释比较麻烦,直接上代码理解。

 1     <style type="text/css">
 2     .p1{
 3         color: red;
 4     }
 5 /*让p2类中p标签采用的样式*/
 6     .p2 p{
 7         color: blue;
 8     }
 9 /*设置所有p2类的样式*/
10     .p2{
11         color: yellow;
12     }
13     </style>
14 
15 </head>
16 <body>
17 <p class="p1">这个p标签在外</p>
18 <div class="p2">
19     <p>这个p标签在里面</p>
20     <h1>这个标题在里面</h1>
21 </div>
22 </body>

5.组合选择器

后代选择器:

 1     <style type="text/css">
 2 /*后代选择器,用空格隔开
 3 选取多个后代可以用“,”隔开
 4 */
 5 div p, h1{
 6     color: red;
 7 }
 8 p{
 9     color: blue;
10 }
11     </style>
12 
13 
14 </head>
15 <body>
16 <div>
17     <p>这个p标签在里面</p>
18     <h1>这个h1标签在里面</h1>
19 </div>
20 <p>这个p标签在里面<</p>
21 </body>

一直追踪后代

 1     <style type="text/css">
 2 /*后代选择器,顾名思义,不论你有多少后代,会追踪到符合的后代为止
 3 */
 4 /*这个例子可以看到p是div的子元素的子元素*/
 5 div p{
 6     color: red;
 7 }
 8 
 9     </style>
10 
11 
12 </head>
13 <body>
14 <div>
15     
16     <h1><p>这个p标签在里面</p></h1>
17 </div>
18 
19 </body>

子元素选择器:

与后代选择器的不同是,子元素选择器只会应用在第一个子元素,而不会追溯更远的后代。

符号用>

 1     <style type="text/css">
 2 
 3 div>p{
 4     color: red;
 5 }
 6 
 7     </style>
 8 
 9 
10 </head>
11 <body>
12 <div>
13     <h1><p>这个p标签是div的后代(子元素的子元素)</p></h1>
14 </div>
15 <div>
16     <p>这个p标签是div的直接子元素</p>
17 </div>
18 </body>

相邻兄弟选择器:

相邻兄弟选择器是具有相同父元素的元素之间的选择,并且选择的是紧邻的一下个。

符号为+

 1 <style type="text/css">
 2 
 3     div+p{
 4         color: red;
 5     }
 6 
 7     </style>
 8 
 9 
10 </head>
11 <body>
12 
13 <div>
14     <p>这个p标签是div的子元素</p>
15 </div>
16 
17     <p>这个p元素在外面,是div的兄弟</p>
18     <p>这个p元素在外面,但不是下一个紧邻的,所以不应用样式</p>
19 </body>

普通相邻兄弟选择器:

与兄弟选择器的不同是,它会选取所有,而不管时候紧邻。

 1 <style type="text/css">
 2 
 3     div~p{
 4         color: red;
 5     }
 6 
 7     </style>
 8 
 9 
10 </head>
11 <body>
12 
13 <div>
14     <p>这个p标签是div的子元素</p>
15 </div>
16 
17     <p>这个p元素在外面,是div的兄弟</p>
18     <p>这个p元素在外面,但不是下一个紧邻的,所以不应用样式</p>
19 </body>

6.属性选择器

下面介绍的是属性选择器的高级应用,不单单是id和class是属性,凡属性皆可用。

1.[属性]

选择含有这个属性的元素。

 1 <style type="text/css">
 2 
 3 [href]{
 4     color: red;
 5 }
 6 
 7 </style>
 8 </head>
 9 <body>
10 <a href="#">这是一个链接到本地的a标签</a>
11 <a href="http://www.baidu.com">这是一个链接到百度的a标签</a>
12 <a>这是一个没有链接的a标签</a>
13 
14 </body>

还可以为属性匹配的值相同的才应用样式

 1 [href="#"]{
 2     color: red;
 3 }
 4 
 5 </style>
 6 </head>
 7 <body>
 8 <a href="#">这是一个链接到本地的a标签</a>
 9 <a href="http://www.baidu.com">这是一个链接到百度的a标签</a>
10 <a>这是一个没有链接的a标签</a>
11 
12 </body>

属性多值选择器,可以匹配包含了的值的。

 1 <style>
 2 [title~=hello]
 3 {
 4 color:blue;
 5 } 
 6 </style>
 7 </head>
 8 
 9 <body>
10 <h2>Will apply to:</h2>
11 <h1 title="hello world">Hello world</h1>
12 <p title="student hello">Hello CSS students!</p>
13 <hr>
14 <h2>Will not apply to:</h2>
15 <p title="student">Hi CSS students!</p>
16 </body>

针对表单的选择器

 1 <style type="text/css">
 2 
 3 input[type="button"]{
 4     color: red;
 5 
 6 }
 7 
 8 </style>
 9 </head>
10 <body>
11 <input type="text" name="" value="没有应用样式">
12 <input type="button" name="" value="红色">
13 </body>
本博客基于网络课程完成,旨在学习,有错误请指正!
原文地址:https://www.cnblogs.com/comefuture/p/6845811.html