内容导读
- 全局选择器
- 基础选择器
- 属性选择器
- 伪类选择器
- 伪元素选择器
- 组合选择器
⼀、全局选择器
1.通配符:全局选择器就是通配符,通配符⽤于选择所有元素。
*{
}
body *{
margin: 0;
padding: 0;
list-style: none;
}
⼆、基础选择器
- 元素选择器:选择全部标签
- id选择器:选择⼀个标签
- class选择器:选择⼀组标签
三、属性选择器
属性选择器:1. 通过标签的属性匹配元素。2.所有的属性选择器都以⽅括号开头
- [属性] {}
- [属性=属性值] {}
- [属性^=属性值] {}
- [属性$=属性值]
[attribute~=value] [title~=flower]
选择带有包含 "flower" ⼀词的 title 属性的所有元素。
[attribute|=value] [lang|=en]
选择带有以 "en" 开头的 lang 属性的所有元素。
[attribute*=value]
示例:将属性为title
的所有元素都设置上前景色。
[title]{
color: red;
}
示例:将属性title的属性值为二级标题的所有元素都设置上背景色。
[title=二级标题]{
background-color: yellow;
}
示例:将属性target的属性值为_blank
的所有元素都设置上删除线。
超链接的原有属性的value值要添加引号。
[target="_blank"]{
text-decoration: line-through;
}
示例:将属性href的属性值为http://www.baidu.com的所有元素都设置上前景色。
^
:指定了属性名,并且有属性值,属性值是以http://www.baidu.com开头的;
a[href^="http://www.baidu.com"]{
color: black;
}
示例:将属性target的属性值为"_blank"的所有元素都设置上前景色。
$
:指定了属性名,并且有属性值,属性值是以_blank结尾的;
a[target$="_blank"]{
color: rgb(188, 95, 95);
}
示例:将属性href的属性值结尾为net的所有元素都添加文字。
$:指定了属性名,并且有属性值,属性值是以net结尾的;
[href$=net]::after{
content: "我爱你";
}
四、伪类选择器
伪类选择器的标志就是单冒号:
- :link
- :active
- :hover
- :visited
- :nth-child():匹配第N个⼦元素
- :first-child():匹配第⼀个⼦元素
[target]{
/选择带有 target 属性的所有元素。/
样式
}
[target=_blank]
选择带有 target="_blank"
属性的所有元素。
a[href^="https"]
选择其 href 属性值以 "https" 开头的每个 <a> 元素。
a[href$=".pdf"]
选择其 href 属性值以 ".pdf" 结尾的每个 <a> 元素。
- :last-child():匹配最后⼀个⼦元素
- :root : 匹配根元素(根元素:html 或 xml)
- :focus - 匹配拥有焦点状态的元素(部分元素拥有焦点:表单标签、超链接)
- :not() - 匹配不是某个元素的元素
- :checked - 匹配选中的元素
超链接伪类
<style>
/* 1.匹配未点击的超链接 */
a:link{
color: cadetblue;
}
/* 2.匹配悬停/悬浮状态的元素 */
a:hover{
color: #000;
}
/* 3. 匹配激活状态(鼠标按下)的元素*/
a:active{
color: cornflowerblue;
}
/* 4.匹配访问过(抬起鼠标)的超链接 */
a:visited{
color: rgb(255, 0, 0);
}
</style>
</head>
<body>
<a href="#">网易云</a>
</body>
:focus 实列
- 点击之后触发焦点元素,修改背景色
- 点击之后触发焦点元素,修改背景色
五、伪元素选择器
::before
::after
::first-line
::first-letter
六、组合选择器
组合选择器就是把上⾯这五类组合在⼀起使⽤。
分组选择器: 使用逗号组合(匹配逗分隔的每⼀项)
后代选择器: 使用空格组合(匹配当前元素的所有后代元素)
⼦元素选择器: 使用 > 组合(匹配当前元素的所有⼦元素)
相邻兄弟选择器: 使用 + 组合(匹配当前元素后⾯的兄弟元素)
ps: Goodbye~