一、 基本选择器
1、id选择器
#1、作用: 根据指定的id名称,在当前界面中找到对应的唯一一个的标签,然后设置属性 #2、格式 id名称 { 属性:值; } #3、注意点: 1、在企业开发中如果仅仅只是为了设置样式,通常不会使用id,在前端开发中id通常是留给js使用的 2、每个标签都可以设置唯一一个id,id就相当于人/标签的身份证,因此在同一界面内id绝不能重复 3、引用id一定要加# 4、id的命名只能由字符、数字、下划线组成,且不能以数字开头,更不能是html关键字如p,a,img等
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>id选择器</title> <style> #p1 { color: red; } #p2 { color: green; } #p3 { color: blue; } </style> </head> <body> <p id="p1">大多数人的帅,都是浮在表面的,是外表的帅</p> <p id="p2">而多多,不仅具备外表帅,内心更是帅了一逼</p> <p id="p3">多多就是我,我就是多多</p> </body> </html>
2、类选择器
#1、作用:根据指定的类名称,在当前界面中找到对应的标签,然后设置属性 #2、格式: .类名称 { 属性:值; } #3、注意点: 1、类名就是专门用来给某个特定的标签设置样式的 2、每个标签都可以设置一个或多个class(空格分隔),class就相当于人/标签的名称, 因此同一界面内class可以重复 3、引用class一定要加点. 4、类名的命名规则与id的命名规则相同
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>类选择器</title> <style> .p1 { color: red; } .p2 { color: green; } .p3 { color: blue; } </style> </head> <body> <p class="p1">大多数人的帅,都是浮在表面的,是外表的帅</p> <p class="p2">而多多,不仅具备外表帅,内心更是帅了一逼</p> <p class="p3">多多就是我,我就是多多</p> </body> </html>
3、标签选择器
#1、作用:根据指定的标签名称,在当前界面中找到所有该名称的标签,然后设置属性 #2、格式: 标签名称 { 属性:值; } #3、注意点: 1、只要是HTML的标签都能当做标签选择器 2、标签选择器选中的是当前界面中的所有标签,而不能单独选中某一标签 3、标签选择器,无论嵌套多少层都能选中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>标签选择器</title> <style type="text/css"> p { color: red; } </style> </head> <body> <p>多多美丽的外表下其实隐藏着一颗骚动的心</p> <ul> <li> <ul> <li> <ul> <li> <p>这颗心叫做七巧玲珑心,男人吃了会流泪,女人吃了会怀孕</p> </li> </ul> </li> </ul> </li> </ul> </body> </html>
4、通配符选择器
#1、作用:选择所有标签 #2、格式: * { 属性:值; } #3、注意点: 1、在企业开发中一般不会使用通配符选择器 理由是: 由于通配符选择器是设置界面上所有的标签的属性, 所以在设置之前会遍历所有的标签 如果当前界面上的标签比较多,那么性能就会比较差
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>通配符选择器</title> <style type="text/css"> * { color: red; } </style> </head> <body> <h1 >我是标题</h1> <p >我是段落</p> <a href="#">我是超链接</a> </body> </html>
二、 后代选择器、子元素选择器
1、后代选择器
#1、作用:找到指定标签的所有后代(儿子,孙子,重孙子、、、)标签,设置属性 #2、格式: 标签名1 xxx { 属性:值; } #3、注意: 1、后代选择器必须用空格隔开 2、后代不仅仅是儿子,也包括孙子、重孙子 3、后代选择器不仅仅可以使用标签名称,还可以使用其他选择器比如id或class 4、后代选择器可以通过空格一直延续下去
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>后代选择器</title> <style type="text/css"> div p { color: red; } #id1 li p { font-size: 50px; } div ul li a { font-size: 100px; color: green; } </style> </head> <body> <p>我是body下的段落1</p> <!--如果想为div内所有标签都设置属性,无论用id还是class都不合理,因为当div内的标签过多,我们无法加那么多id或者class--> <div id="id1" class="part1"> <p>我是div下的段落1</p> <p>我是div下的段落2</p> <ul> <li class="aaa"> <p class="ccc">我是ul>li下的段落1</p> <p class="ddd">我是ul>li下的段落</p> <a href="">点我啊1</a> </li> <li> <a href="#">点我啊2</a> </li> </ul> </div> <p>我是body下的段落2</p> </body> </html>
2、子元素选择器
#1、作用:找到制定标签的所有特定的直接子元素,然后设置属性 #2、格式: 标签名1>标签名2 { 属性:值; } 先找到名称叫做"标签名称1"的标签,然后在这个标签中查找所有直接子元素名称叫做"标签名称2"的元素 #3、注意: 1、子元素选择器之间需要用>符号链接,并且不能有空格 比如div >p会找div标签的所有后代标签,标签名为">p" 2、子元素选择器只会查找儿子,不会查找其他嵌套的标签 3、子元素选择器不仅可以用标签名称,还可以使用其他选择器,比如id或class 4、子元素选择器可以通过>符号一直延续下去
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>后代选择器</title> <style type="text/css"> body>p { color: green; } div>p { color: red; } .aaa>a { font-size: 100px; } div>ul>li>.ddd { color: blue; } </style> </head> <body> <p>我是body下的段落1</p> <!--如果想为div内所有标签都设置属性,无论用id还是class都不合理,因为当div内的标签过多,我们无法加那么多id或者class--> <div id="id1" class="part1"> <p>我是div下的段落1</p> <p>我是div下的段落2</p> <ul> <li class="aaa"> <p class="ccc">我是ul>li下的段落1</p> <p class="ddd">我是ul>li下的段落2</p> <a href="">点我啊1</a> </li> <li> <a href="#">点我啊2</a> </li> </ul> </div> <p>我是body下的段落2</p> </body> </html>
三、 兄弟选择器
1、相邻兄弟选择器,CSS2推出
#1、作用:给指定选择器后面紧跟的那个选择器选中的标签设置属性 #2、格式 选择器1+选择器2 { 属性:值; } #3、注意点: 1、相邻兄弟选择器必须通过+号链接 2、相邻兄弟选择器只能选中你紧跟其后的那个标签,不能选中被隔开的标签
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>兄弟选择器</title> <style type="text/css"> h1+p { font-size: 50px; } /* 相邻兄弟解释器*/ </style> </head> <body> <h1 >我是标题1</h1> <!--<a href="">有了这个标签,p就不再是紧跟h1标签了,但通用兄弟选择器仍然能选中</a>--> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <h1>我是标题2</h1> <p>我是段落</p> </body> </html>
2、通用兄弟选择器,CSS3推出
#1、作用:给指定选择器后面的所有选择器中的所有标签设置属性 #2、格式: 选择器1~选择器2 { 属性:值; } #3、注意点: 1、通用兄弟选择器必须用~来链接 2、通用兄弟选择器选中的是指选择器后面的某个选择器选中的所有标签 无论有没有被隔开,都可以被选中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>通用兄弟选择器</title> <style type="text/css"> h1~p { color: red; } /*通用兄弟选择器*/ </style> </head> <body> <h1 >我是标题1</h1> <!--<a href="">有了这个标签,p就不再是紧跟h1标签了,但通用兄弟选择器仍然能选中</a>--> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> <h1>我是标题2</h1> <p>我是段落</p> </body> </html>
四、 交集选择器与并集选择器
1、交集选择器
#1、作用:给所有选择器选中的标签中,相交的那部分标签设置属性 #2、格式: 选择器1选择器2 { 属性:值; } #3、注意: 1、选择器与选择器之间没有任何链接符号 2、选择器可以使用标签名称、id、class 3、交集选择器在企业开发中并不多见,了解即可 因为:p.part1 完全可以用.part1取代
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>后代选择器</title> <style type="text/css"> p.part1 { color: red; } p#p1{ font-size: 100px; } </style> </head> <body> <p class="part1">我是段落</p> <p id="p1">我是段落</p> <p class="part1">我是段落</p> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> </body> </html>
2、并集选择器
#1、作用:给所有满足条件的标签设置属性 #2、格式: 选择器1,选择器2 { 属性:值; } #3、注意: 1、选择器与选择器之间必须用逗号来链接 2、选择器可以使用标签名称、id、class
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>并集选择器</title> <style type="text/css"> .part1,h1,a { color: red; } </style> </head> <body> <h1>哈哈啊</h1> <p class="part1">我是段落</p> <p id="p1">我是段落</p> <p class="part1">我是段落</p> <a href="#">我是我</a> <p>我是段落</p> <p>我是段落</p> <p>我是段落</p> </body> </html>
五、 序列选择器
#1、作用: css3中新推出的选择器中,最具代表性的的9个,又称为序列选择器, 过去的选择器中要选中某个必须加id或class,学习了这9个后,不用加id或class, 想选中同级别的第几个就选第几个 #2、格式 #2.1 同级别 :first-child p:first-child 同级别的第一个 :last-child p:last-child 同级别的最后一个 :nth-child(n) 同级别的第n个 :nth-last-child(n) 同级别的倒数第n个 #2.2 同级别同类型 :first-of-type 同级别同类型的第一个 :last-of-type 同级别同类型的最后一个 :nth-of-type(n) 同级别同类型的第n个 :nth-last-of-type(n) 同级别同类型的倒数第n个 #2.3 其他 :only-of-type 同类型的唯一一个 :only-child 同级别的唯一一个
#1、同级别的第一个 #1.1 示范一 p:first-child { color: red; } 代表:同级别的第一个,并且第一个要求是一个p标签 <p>我是段落1</p> <p>我是段落2</p> <p>我是段落3</p> <p>我是段落4</p> <p>我是段落5</p> <div> <p>我是段落6</p> </div> 这样的话第一个p和div中的第一个p都变成红色, #1.2 示范二 p:first-child { color: red; } 代表:同级别的第一个,并且第一个要求是一个p标签 <h1>w我是标题</h1> <p>我是段落1</p> <p>我是段落2</p> <p>我是段落3</p> <p>我是段落4</p> <p>我是段落5</p> <div> <p>我是段落6</p> </div> 这样的话只有div中的第一个p变红,因为在有在div内同一级别的第一个才是p 注意点: :fist-child就是第一个孩子,不区分类型 #2、同级别的最后一个 p:last-child { color: red; } 代表:同级别的最后一个,并且最后一个要求是一个p标签 <h1>我是标题</h1> <p>我是段落1</p> <p>我是段落2</p> <p>我是段落3</p> <p>我是段落4</p> <p>我是段落5</p> <div> <p>我是段落6</p> </div> <p>我是段落7</p> 这样的话只有6跟7都变红 #3、同级别的第n个 p:nth-child(3) { color: red; } 代表:同级别的第3个,并且第3个要求是一个p标签 <h1>我是标题</h1> <p>我是段落1</p> <p>我是段落2</p> <p>我是段落3</p> <p>我是段落4</p> <p>我是段落5</p<
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/dkmnqa867263/article/details/101934159
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
原文链接:https://blog.csdn.net/dkmnqa867263/article/details/101934159
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
- 发表于 2021-06-14 16:52:53
- 阅读 ( 659 )
- 分类:前端