css选择器详解

  • Post author:
  • Post category:其他


基础选择器


一、通用选择器(了解)


1、作用

匹配页面上所有的元素

2、语法

*{样式声明;}

3、注意

效率低,尽量不用

尽可能通过 继承性 去代替通用选择器的效果


二、元素选择器


又名:标签选择器,标记选择器

1、作用

匹配页面某一指定元素

比如:

页面所有的 div 元素

页面所有的 p 元素

2、语法

元素{}

ex:

h1{color:red;}

h2{color:blue;}


三、类选择器(重点)


1、作用

允许元素使用附带的class属性值,对选择器进行引用

2、语法

以 . 作为开始

.类名{}

类名:字母,数字,_,-组成,不能以数字开始

引用类选择器:通过元素的 class 属性,进行引用

<ANY class=”类名”></ANY>

3、特殊用法-分类选择器

设置class值为redColor的p元素的 背景颜色为 Yellow

1、作用

将 元素选择器和类选择器结合到一起,从而实现对某种元素的不同样式的细分控制

2、语法

元素选择器.类选择器{


样式声明;

}

p.redColor{


background-color:yellow;

}

4、特殊引用-多类选择器

1、作用

可以让一个元素同时引用多个类选择器,中间用空格分开即可


四、id选择器(重点)


1、作用

只匹配指定ID值得元素

2、语法

#id值{}


五、群组选择器


1 、作用

选择器声明以逗号来隔开的选择器列表.其目的是为了声明一组选择器中的公共样式

2、语法

选择器1,选择器2,选择器3,..,{

}

ex:

设置页面上所有的p元素,span元素,id为d1元素,class为redColor的元素的文本颜色 为 红色

p,span,#d1,.redColor{


color:red;

}

等同于

p{color:red;}

span{color:red;}

#d1{color:red;}

.redColor{color:red;}


六、后代选择器


1 、作用

用于匹配某元素的后代元素时使用

2、语法

选择器1 选择器2{

}


七、子代选择器


1、作用

用于匹配某元素的子代元素

2、语法

选择器1>选择器2{

}



、伪类选择器


1、作用

为了匹配元素不同的状态的

2、语法

:伪类选择器{}

3、分类

①、链接伪类

:link :匹配 超链接 未被访问时的状态

:visited :匹配 超链接 被访问过的状态

②、动态伪类

:hover :匹配鼠标悬停在 html 元素时的状态

:active : 匹配 html元素 被激活时的状态

:focus : 匹配html元素获取焦点时的状态(文本框与密码框)

③、目标伪类

④、元素状态伪类

⑤、结构伪类

⑥、否定伪类复杂选择器

复杂选择器


一、兄弟选择器


1、作用

通过元素的平级关系来匹配其他元素

只能向后不能向前

2、分类

1、相邻兄弟选择器

匹配指定元素的相邻兄弟

相邻:紧紧挨在指定元素的后面

语法:

选择器1+选择器2

ex:

1、div+p{}

2、#content+.important{}

2、通用兄弟选择器

通用:某元素后面所有的兄弟元素

语法:

选择器1~选择器2


二、属性选择器


1、作用

允许使用元素所附带的属性及其值,来匹配页面的元素

2、语法

唯一一组以  [] 来进行表示的选择器

1、[attr]

attr:任意属性名称

作用:匹配 附带 attr 属性的元素

ex:

1、[id]

匹配页面所有附带 id 属性的元素

2、elem[attr]

elem : 表示任意元素

作用:匹配附带 attr 属性的 elem 元素

ex:

1、p[id]

3、elem[attr1][attr2]

作用:匹配页面中所有即附带attr1属性也同时附带attr2属性的elem元素

ex:

div[id][class]

4、elem[attr=value]

value:值

作用:匹配页面上 附带attr属性同时值为 value 的elem 元素

ex:

input[type=text] : 获取页面所有文本框

5、elem[class~=value]

作用:匹配 附带 class 属性的 elem元素,其中class属性的值是以空格隔开的值列表,value是值列表中的一个独立                                 值。

6、elem[attr^=value]

^= : 以 value 作为开始

作用:匹配附带attr属性的elem元素,并且该属性值是以value作为开始的

7、elem[attr$=value]

$= : 以 value 作为结束

作用:匹配附带attr属性的elem元素,并且该属性值是以value作为结束的

8、elem[attr*=value]

*= : 包含 value 字符即可


三、伪类选择器


1、目标伪类

1、作用

突出显示活动的HTML锚元素。匹配当前页面中活动的HTML锚元素。

2、语法

:target

2、元素状态伪类

1、作用

元素状态 :启用,禁用,被选中(checked)

2、语法

:enabled , 匹配每个已启用元素(表单控件)

:disabled , 匹配每个已禁用元素(表单控件)

:checked , 匹配每个被选中元素(radio,checkbox)

3、结构伪类(重点)

1、:first-child

匹配 属于其父元素中的首个子元素

2、:last-child

匹配 属于其父元素中的最后一个子元素

3、:nth-child(n)

匹配 属于其父元素中的第n个子元素

4、:empty

匹配 没有子元素(包含文本)的每个元素

<div></div>

5、:only-child

匹配属于其父元素中的唯一子元素

<div>

<p>Hello World</p>

</div>

4、否定伪类

1、语法

:not(选择器)

作用:将 满足选择器的元素从指定范围中排除出去


四、伪元素选择器


1、作用

伪类:匹配元素的

伪元素:匹配元素中的内容

2、语法

1、:first-letter 或 ::first-letter

匹配 指定元素的 首字符

2、:first-line 或 ::first-line

匹配 指定元素的 首行

3、::selection

匹配 被用户选取的部分

3、: 和 ::的区别

CSS3之前,所有的伪元素选择器,全部都是 使用 :,ex  :first-line,:first-letter

CSS3中,将所有的伪元素选择器全部都升级为 :: , ex ::first-letter, ::first-line

为了能够实现浏览器的兼容性,比较推荐使用 :的写法



版权声明:本文为qq_37899792原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。