2024-09-08 00:22:49
##CSS选择器
#标签选择器
#id选择器
#类选择器
#后代选择器
#子元素选择器
#交集选择器
#并集选择器
#兄弟选择器(相邻兄弟选择器/通用兄弟选择器)
#序选择器(CSS3中最具代表性)
#属性选择器
#通配符选择器
#伪元素选择器
标签选择器
1.什么是标签选择器?
作用:根据指定的标签名称,在当前界面中找到所有该名称的标签,然后设置属性
2.格式:
标签名称{
属性:值;
}
注意点:
1.标签选择器选中的是当前界面中所有的标签,而不能单独选中某一个标签
2.标签选择器无论藏得多深都能被选中
3.只要是HTML中的标签就可以作为标签选择器
id选择器
1.什么是id选择器?
作用:根据指定的id名称找到对应的标签,然后设置属性
格式:
#id名称{
属性:值;
}
注意点:
1.每个HTML标签都有一个属性叫做id,也就是说每个标签都可以设置id
2.在同一个界面的id名称是不可以重复的
3.在编写id选择器时一定要在id名称前面加上#
4
id的名称是有一定的规范的
4.1.if的名称只能由字母/数字/下划线组成
4.2.id名称不能以数字开头
4.3id名称不能是HTML标签的名称
4.4在企业开发中一般情况下如果仅仅是为了设置样式,我们不会使用id,因为前端开发中是留给js使用的
类选择器
什么是类选择器?
作用:根据指定的类名称找到对应的标签,然后设置属性
格式:
.类名称{
属性:值;
}
注意点:
1.每个HTML标签都有一个属性叫做class,也就是说每个标签都可以设置class
2.在同一个界面的class名称是可以重复的
3.在编写class选择器时一定要在class名称前面加上.
4.类名的命名规范和id名称的命名规范一样
5.类名解释专门用来给某个特定的标签设置样式的
6.在HTML中每个标签可以同时绑定多个类名
格式:
标签名称class=“类名1类名2类名3”
错误写法
id和class的区别?
1.1
id相当于人的身份证不可以重复
class相当于人的名称可以重复
1.2
一个HTML标签只能绑定一个id名称
一个HTML表圈可以绑定多个class名称
2.id选择器是以#开头
class选择器以.开头
3.在企业开发中到底使用id选择器还是用class选择器
id选择器一般是给js用的,除非特殊情况,否则不要用id去设置样式
4.在企业开发中一个开发人员对类的使用可以看出这个开发人员的技术水平
后代选择器
什么是后代选择器?
-作用:找到指定标签的所有特定的后代标签,设置属性
-格式:
标签名称1标签名称2{
属性:值;
}
先找到名称叫做标签名称1的标签,然后再在这个标签下面去查找所有名称叫做标签名称2的标签,然后再设置属性
-注意点:
1.后代选择器必须用空格隔开
2.后代不仅仅是儿子,也包括孙子/重孙子.只要最终是放到指定标签中的都是后代
3.后代选择器不仅仅可以使用标签名称还可以使用其他选择器
子元素选择器
什么是子元素选择器?
-作用:找到所有标签中特定的直接子元素,然后设置属性
-格式:
标签名称1标签名称2{
属性:值;
}
先找到名称叫做”标签名称1”的标签,然后再这个标签中找到所有的直接子元素名称叫做”标签名称2”的元素
-注意点:
1.子元素选择器只会查找儿子,不会查找其他被嵌套的标签
2.子元素选择器,之间需要用连接,而且不能有空格
3.子元素选择器不仅仅可以使用标签名称还可以用其他选择器
4.子元素选择器可以通过符号一直延续下去
1.后代选择器和子元素选择器之间的区别?
1.1
后代选择器使用空格作为连接符号
子元素选择器使用作为连接符号
1.2
后代选择器会选中指定标签中,所有的特定后代标签
子元素选择器只会选中指定标签中,所有的特定直接标签
2.后代选择器和子元素选择器之间的共同点
2.1
后代选择器和子元素选择器都可以使用标签名称/id名称/class名称来作为选择器
2.2
后代选择器和子元素选择器都可以通过各自的连接符号一直延续下去
3.在企业开发中如何选择
交集选择器
什么是交集选择器?
-作用:给所有选择器选中的标签中,相交的那部分标签设置属性
-格式:
选择器1选择器2{
属性:值;
}
-注意点:
1.选择器1和选择器2之间没有任何的连接符号
2.选择器可以使用标签的名称/id名称/class名称
3.交集选择器仅仅作为了解,企业开发中用的并不多
并集选择器
什么是并集选择器?
-作用:给所有选择器选中的标签设置属性
格式:
选择器1,选择器2{
属性:值;
}
注意点:
1.并集选择器必须使用,来连接
2.2.选择器可以使用标签的名称/id名称/class名称
兄弟选择器
1.相邻兄弟选择器CSS2
-作用:给指定选择器后面[紧跟]的那个选择器选中的标签设置属性
格式:
选择器1+选择器2{
属性:值;
}
注意点:
1.相邻兄弟选择器必须通过+连接
2.相邻兄弟选择器只能选中紧跟其后面的那个标签,不能选中被隔开的标签
2.通用兄弟选择器CSS3
-作用:给指定的选择器后面的所有选择器选中的所有标签都设置属性
-格式:
选择器1~选择器2{
属性:值;
}
-注意点:
1.通用兄弟选择器必须用~连接
2.通用兄弟选择器选中的是指定选择器后面某个选择器选中的标签后面的所有标签
序选择器(CSS3中新增的选择器中最具代表性)
1.同级别的第几个
:first-child选中同级别中的第一个标签
:last-child选中同级别中的最后一个标签
:nth-child(n)选中同级别中的第n个标签
:nth-last-child(n)选中同级别中的倒数第n个标签
:only-child选中父元素中唯一的子元素
:nth-child(odd)奇数选中同级别中的所有奇数个标签
:nth-child(even)偶数选中同级别中的所有偶数个标签
:nth-child(xn+y)选中同级别中的所有的用户自定义的(xn+y)个标签
x和y是用户自定义的,而n是一个计数器,从0开始递增有多少个标签n就递增多少次
注意点:不区分类型
2.同类型的第几个
:first-of-type选中同级别中同类型的第一个标签
:last-of-type选中同级别中同类型的最后一个
:nth-of-type(n)选中同级别中同类型的第n个标签
:nth-last-of-type(n)选中同级别中同类型的倒数第n个标签
:only-of-type选中父元素中唯一类型的某个标签
属性选择器
什么是属性选择器?
作用:根据指定的属性名称找到对应标签,然后设置属性
格式:
[attribute]
作用:根据指定的属性名称找到对应的标签,然后设置属性
[attribute=value]
作用:找到有指定属性,并且属性的取值等于value的标签,然后设置属性
最常见的应用场景,就是用于区分input属性
1.属性的取值是以什么开头的
[attribute|=value]CSS2
[attribute^=value]CSS3
两者之间的区别:
CSS2中的只能找到value开头并以-和其他内容隔开的标签,而CSS3可以找到以value开头的所有标签
2.属性的取值是以什么结尾的
[attribute$=value]?CSS3
3.属性的取值是否包含某个特定的值的
[attribute~=value]CSS2
[attribute*=value]CSS3
两者之间的区别:
CSS2中的只能找到独立的单词,也就是说value用空格和其他内容隔开的标签,而CSS3可以找到包含value的所有标签
通配符选择器
什么是通配符选择器?
-作用:给当前界面上所有的标签设置属性
-格式:
*{
属性:值;
}
-注意点:
由于通配符是设置界面上所有的标签的属性,所以在设置前会遍历所有的标签,如果当前界面上的标签比较多,那么性能会比较差,所以企业开发中一般不会使用通配符选择器
1.什么是伪元素选择器?
伪元素选择器作用就是给指定标签的内容前面添加一个子元素或者给指定标签的内容后面添加一个子元素
格式:
给指定标签的内容前面添加一个子元素
标签名称::before{
属性名称:值;
}
给指定标签的内容后面添加一个子元素
标签名称::before{
属性名称:值;
}
css选择器CSS(CascadingStyleSheet),中文译为层叠样式表,可以让设计者方便灵活地控制Web页面的外观表现。CSS是1996年由W3C审核通过并且推荐使用的。CSS的引入,就是为了使HTML语言更好地适应网页的美工设计。CSS详细规范说明要查阅CSS手册,或登录W3C官网()。
使用CSS,要了解常用的各种选择器。
1.标记选择器:
一个HTML页面由很多不同的标记组成,而CSS选择器就是声明哪些标记采用哪种CSS样式。每一种HTML标记的名称都可以作为相应的标记选择器的名称。示例:
每一个选择器都包含选择器本身、属性和值,其中属性和值可以设置多个,从而实现对同一标记名称声明多种样式。CSS语言对于所有属性和值都有相对严格的要求,如果声明的属性在CSS规范中没有,或者某个属性的值不符合该属性的要求,都不能使该CSS语句生效。还有一种通配选择器“*”,表示其中设置的样式会应用于所有的网页元素。示例:
htmlheadtitleclass选择器/title
styletype="text/css"
.red{color:red;font-size:18px;}
.green{color:green;font-size:20px;}
/style/head
body
pclass="red"class选择器1/p
pclass="green"class选择器2/p
h3class="green"h3使用class/h3
/body
/html
htmlheadtitleID选择器/title
styletype="text/css"
#bold{font-weight:bold;}
#green{font-size:30px;color:#009900;}
/style/head
body
pid="bold"ID选择器1/p
pid="green"ID选择器2/p
/body/html
htmlheadtitle交集选择器/title
styletype="text/css"
p{/标记选择器/color:blue;}
p.special{/标记.类别选择器/color:red;}
.special{/类别选择器/color:green;}
/style/head
body
p普通段落文本(蓝色)……/p
h3普通标题文本(黑色)……/h3
pclass="special"指定了.special类别的段落文本(红色)……/p
h3class="special"指定了.special类别的标题文本(绿色)……/h3
/body
/html
htmlheadtitle并集选择器/title
styletype="text/css"
h1,h2,h3.h4.h5.p{/并集选择器/color:purple;font-size:15px;}
h2.special,.special,#one{/集体声明/text-decoration:underline;}
/style/head
body
h1示例文字h1……/h1
h2class=”special”示例文字h2……/h2
h3示例文字h3……/h3
p示例文字p1……/p
pclass="special"示例文字p2……/p
pid="one"示例文字p3……/p
/body/html
htmlheadtitle后代选择器/title
styletype=”text/css”
pspan{/嵌套声明/color:red;}
span{color:blue;}
/style/head
body
p嵌套使span用CSS(红色)/span标记的方法/p
嵌套之外的span标记(黑色)/span不生效
/body/html
:hover:visited:active:first-line:first-letter:first-child:nth-child:nth-of-type:nth-last-child
:nth-last-of-type
CSS-属性&&选择器
CSS选择器、CSS属性
style写在head中间,type="text/css"可以不用写,默认就是这个。
规定文字样式、粗细、大小、字体的属性
1、字体不存在用户电脑上时:
不处理时,使用用户电脑系统默认字体
处理:font-family:“不存在的字体”,"备选字体";--设置备选字体,可设置多个备选字体
2、一串字符串既有中文,又有英文时,如何设置两种字体
英文字体是中文字体的子集。【意思是:英文字体不能处理中文,中文字体可以处理英文】
文本装饰、文本对齐,文本缩进的属性
文本装饰-文字的下划线,中划线等
文本对齐:
文本缩进:
格式:
p{
font:20px,"楷体"
}
标签选择器选中的是页面中所有的该标签
作用:根据指定的id名称找到对应的标签,然后设置属性。(标签选择器选中的是全部的同类标签)
第一步:给需要设置的标签设置id,
第二步:
注意:
1、id在同一页面是唯一的
2、id名是有规范的,只能是字母,数字和下划线,不能使用数字开头,不能使用HTML的标签名
3、如果仅仅是为了设置样式,不需要使用id,而是使用类选择器,id是留给js使用的。
根据指定的类名称找到对应的标签,然后设置属性
第一步:给需要设置的标签设置className,
第二步:
注意:
1、className是可以重复的
2、className名是有规范的,只能是字母,数字和下划线,不能使用数字开头,不能使用标签名
3、如果仅仅是为了设置样式,不需要使用id,而是使用类选择器,id是留给js使用的。
4、同一个HTML变迁可以有多个classname
1、id使用“,”class使用#
2、class相当于人名,所以同一个页面上的HTML标签可以有一样的className;
id相当于身份证,所以同一个页面上的HTML标签不可以有一样的id;
3、class相当于人名,所以,一个HTML标签可以有多个Class
id相当于身份证,所以,一个HTML标签只能有一个id
4、一般情况下设置样式,使用class;如果需要js配合,使用id
格式:
先祖位置可以是HTML标签,可以是class名,可以是id
后代位置可以是HTML标签,可以是class名,可以是id
可以随意组合
只会查找直接子元素
格式:
1、都可以使用HTML标签、id名、class名
1、后代使用空格,子使用
2、后代可以选取指定标签的所有特定标签,包括子、孙;而子只能选取指定标签的特定子标签
定义:两个选择器相交的部分
格式:
选择器1选择器2{
}
选择器1和选择器2之间没有任何符号,没有空格,没有
选择器1和选择器2之间有逗号。
相邻:选择器1+选择器2,给紧跟着选择器1后面的选择器2设置样式
通用:选择器1~选择器2,给选择器1后面的所有选择器2设置样式
CSS3中新增的选择器最具代表性的就是序选择器
1.同级别的第几个
:first-child选中同级别中的第一个标签
:last-child选中同级别中的最后一个标签
:nth-child(n)选中同级别中的第n个标签【n的值可以是数值,可以是“odd”、“even”,也可以是表达式,比如xn+y】
:nth-last-child(n)选中同级别中的倒数第n个标签
:only-child选中父元素中唯一的标签
注意点:不区分类型
2.同类型的第几个
:first-of-type选中同级别中同类型的第一个标签
:last-of-type选中同级别中同类型的最后一个标签
:nth-of-type(n)选中同级别中同类型的第n个标签
:nth-last-of-type(n)选中同级别中同类型的倒数第n个标签
:only-of-type选中父元素中唯一类型的某个标签
|[attribute]|[target]|选择带有target属性所有元素。|2|
|[attribute=value]|[target=_blank]|选择target="_blank"的所有元素。|2|
|[attribute~=value]|[title~=flower]|选择title属性包含单词"flower"的所有元素。|2|
|[attribute|=value]|[lang|=en]|选择lang属性值以"en"开头的所有元素。|2|
|[attribute^=value]|a[src^="https"]|选择其src属性值以"https"开头的每个a元素。|3|
|[[attribute=value]选择器")|a[src$=".pdf"]|选择其src属性以".pdf"结尾的所有a元素。|3|
|[attribute=value*]|a[src*="abc"]|选择其src属性中包含"abc"子串的每个a元素。|3|
1、属性的取值是以什么开头的
[attribute|=value]----------------CSS2
优先使用CSS3的。
2、属性的取值是以什么结尾的
3、属性的取值是否包含某个特性的值的
[attribute~=value]
*{
}
(大于号)的用法解析和举例'>css选择器~(波浪号)、+(加号)、>(大于号)的用法解析和举例~(波浪号):A~B表示选择A标签后的所有B标签,但是A和B标签必须有相同的父元素。
h3~h5选择前面有h3元素的每个h5元素,即选择h3之后出现的所有h5,两种元素必须拥有相同的父元素,但h5不必紧随h3。
说明:这里的h5,h3也可以换成实际项目中的其他标签的类名、标签名或id等。
~(加号)加号又被称作兄弟选择器。A+B表示选择紧邻在A后面的B元素,且A和B必须拥有相同的父元素,所选到的仅为一个B元素标签。
大于号表示某个元素的下一代元素。AB指选择A元素里面的B元素,其中B元素是A元素的第一代。
.myDivh3选择类名名为myDiv里面的第一代h3。
CSS基础选择器(二)属性:通过属性的复杂叠加才能做出漂亮的网页。
选择器:通过选择器找到对应的标签设置样式
标签选择器:就是用标签名来当选择器
1所有的标签都能做选择器,例如:div、p、ul、li、a、span、body等等
2不管这个标签藏的多深,都能够被选择上。
3选择的整个界面所有的标签,而不是某个,是共性而不是特性
比