css学习之基本选择器+伪类选择器

1.基本选择器

css学习之基本选择器+伪类选择器_第1张图片

默认对全部元素都试用
::selection {
	color: red;
}

1.通用选择器

* {
border: 1px solid red;
}
解释:“*”号选择器是通用选择器,功能是匹配所有 html 元素的选择器包括和标签。可以使用如下元素标记测试效果:
通用选择器会将所有元素匹配并配置样式,这是把双刃剑,好处就是非常方便,坏处就是将不必要的元素也配置了。目前为止,还不存在所有元素都必须配置的样式,所以,一般来说,不常用。
2.元素选择器
p {
color: red;
}

段落

解释:直接使用元素名称作为选择器名即可。 3.ID 选择器 #abc { font-size: 20px; }

段落

解释:通过对元素设置全局属性 id,然后使用#id 值来选择页面唯一元素。 4.类选择器 .abc { border: 1px solid red; } 加粗 解释:通过对元素设置全局属性 class,然后使用.class 值选择页面一个或多个元素。 b.abc { border: 1px solid red; } 解释:也可以使用“元素.class 值”的形式,限定某种类型的元素。 解释:类选择器还可以调用多个样式,中间用空格隔开进行层叠。 5.属性选择器 //所需 CSS2 版本 [href] { color: orange; } 解释:属性选择器,直接通过两个中括号里面包含属性名即可。当然,还有更多扩展的属性选择器。 [type="password"] { border: 1px solid red; } 解释:匹配属性值的属性选择器。 [href^="http"] { color: orange; } 解释:属性值开头匹配的属性选择器。 [href$=".com"] { color: orange; } 解释:属性值结尾匹配的属性选择器。 [href*="baidu"] { color: orange; } 解释:属性值包含指定字符的属性选择器。 [class~="edf"] { font-size: 50px; } 解释:属性值具有多个值时,匹配其中一个值的属性选择器。 [lang|="en"] { color: red; } 解释:属性值具有多个值且使用“-”号连接符分割的其中一个值的属性选择器。比如HTML5

2.复合选择器:将不同的选择器进行组合形成新的特定匹配,我们称为复合选择器。


1.分组选择器
p,b,i,span {
color: red;
}
解释:将多个选择器通过逗号分割,同时设置一组样式。当然,不但可以分组元素选择器,还可以使用 ID 选择器、类选择器、属性选择器混合使用。
2.后代选择器
p b {
color: red;
}
解释:选择

元素内部所有元素。不在乎的层次深度。当然,后代选择器也可以混合使用 ID 选择器、类选择器、属性选择器。 3.子选择器 ul > li { border: 1px solid red; } 解释:子选择器类似与后代选择器,而最大的区别就是子选择器只能选择父元素向下一级的元素,不可以再往下选择。 4.相邻兄弟选择器 p + b { color: red; } 解释:相邻兄弟选择器匹配和第一个元素相邻的第二个元素。 5.普通兄弟选择器 p ~ b { color: red; } 解释:普通兄弟选择器匹配和第一个元素后面的所有元素。

3.伪元素选择器


伪选择器分为两种第一种是下节伪类选择器,还有一种就是伪元素选择器。这两种选择器特性上比较容易混淆,在 CSS3 中为了区分,伪元素前置两个冒号(::),伪类前置一个冒号(:)。
1.::first-line 块级首行
::first-line {
color: red;
}
解释:块级元素比如

等的首行文本被选定。如果想限定某种元素,可以加 上前置 p::first-line。 2.::first-letter 块级首字母 ::first-letter { color: red; } 解释:块级元素的首行字母。 3.::before 文本前插入 a::before { content: '点击-'; } 解释:在文本前插入内容。 4.::after 文本后插入 a::before { content: '-请进'; } 解释:在文本后插入内容。

2.伪类选择器

css学习之基本选择器+伪类选择器_第2张图片

css学习之基本选择器+伪类选择器_第3张图片
1.结构性伪类选择器

结构性伪类选择器能够根据元素在文档中的位置选择元素。这类元素都有一个前缀(:)。
1.根元素选择器
:root {
border: 1px solid red;
}
解释:匹配文档中的根元素,基本不怎么用,因为总是返回元素。
2.子元素选择器
ul > li:first-child {
color: red;
}
解释:选择第一个子元素。
ul > li:last-child {
color: red;
}
解释:选择最后一个子元素。
ul > li:only-child {
color: red;
}
解释:选择只有一个子元素的那个子元素。
div > p:only-of-type {
color: red;
}
解释:选择只有一个指定类型的子元素的那个子元素。
3.:nth-child(n)系列
ul > li:nth-child(2) {
color: red;
}
解释:选择子元素的第二个元素。
ul > li:nth-last-child(2) {
color: red;
}
解释:选择子元素倒数第二个元素。
div > p:nth-of-type(2) {
color: red;
};
解释:选择特定子元素的第二个元素。
div > p:nth-last-of-type(2) {
color: red;
};
解释:选择特定子元素的倒数第二个元素。

2.UI 伪类选择器

UI 伪类选择器是根据元素的状态匹配元素。
1.:enabled
:enabled {
border: 1px solid red;
}
解释:选择启用状态的元素。
2.:disabled
:disabled {
border: 1px solid red;
}
解释:选择禁用状态的元素。
3.:checked
:checked {
display: none;
}
解释:选择勾选的 input 元素。
4.:default
:default {
display: none;
}
解释:从一组类似的元素中选择默认元素。比如 input 被勾选的即默认的。
5.:valid 和:invalid
input:valid {
border: 1px solid blue;
}
input:invalid {
border: 1px solid green;
}
解释:输入验证合法与不合法显示时选择的元素。
6.:required 和:optional
input:required {
border: 1px solid blue;
}
input:optional {
border: 1px solid green;
}
解释:根据是否具有 required 属性选择元素。

3.动态伪类选择器

动态伪类选择器根据条件的改变匹配元素。
1.:link 和 visited
a:link {
color: red;
}
a:visited {
color: orange;
}
解释::link 表示未访问过的超链接,:visited 表示已访问过的超链接。
2.:hover
a:hover {
color: blue;
}
解释:表示鼠标悬停在超链接上。
3.:active
a:active {
color: green;
}
解释:表示鼠标按下激活超链接时。
4.:focus
input:focus {
border: 1px solid red;
}
解释:表示获得焦点时。

4.其他伪类选择器

1.:not
a:not([href*="baidu"]) {
color: red;
}
解释:否定选择器,反选。
2.:empty
:empty {
display: none;
}
解释:匹配没有任何内容的元素。
3.:lang
:lang(en) {
color: red;
}
解释:选择包含 lang 属性,属性值前缀为 en 的元素。和属性选择器匹配结果一致。
4.:target
:target {
color: red;
}
解释:定位到锚点时,选择此元素。
5.::selection
::selection {
color: red;
}
解释:这是一个伪元素选择器,当选择文字时触发选择。CSS3 版本下的选择器。

你可能感兴趣的:(WEB前端,基本选择器,伪类选择器)