你不得不掌握的css选择器
【摘要】 前言什么是 css 选择器呢?首先,css 是 Cascading Style Sheet(层叠样式表)的简称,CSS 技术用来美化 html 页面,来达到所预期的效果。而 css 选择器则可以帮助我们选中需要添加样式的特定标签。选择器分类在这里将选择器分为两大类:基本选择器和高级选择器一、 基本选择器选择器说明作用*通用元素选择器匹配任何元素E标签选择器匹配所有使用 E 标签的元素.inf...
前言
什么是 css 选择器呢?首先,css 是 Cascading Style Sheet(层叠样式表)的简称,CSS 技术用来美化 html 页面,来达到所预期的效果。而 css 选择器则可以帮助我们选中需要添加样式的特定标签。
选择器分类
在这里将选择器分为两大类:基本选择器和高级选择器
一、 基本选择器
选择器 | 说明 | 作用 |
---|---|---|
* | 通用元素选择器 | 匹配任何元素 |
E | 标签选择器 | 匹配所有使用 E 标签的元素 |
.info | class 选择器 | 匹配所有 class 属性中包含 info 的元素 |
#footer | id 选择器 | 匹配所有 id 属性等于 footer 的元素 |
二、高级选择器
选择器 | 说明 | 作用 |
---|---|---|
E1,E2 | 多元素选择器 | 匹配所有 E1 元素和 E2 元素 |
E1 E2 | 后代选择器 | 匹配 E1 元素内的所有 E2 元素 |
E1>E2 | 子元素选择器 | 匹配所有父级是 E1 元素的 E2 元素 |
E1~E2 | 兄弟选择器 | 匹配所有紧接着 E1 元素之后的 所有 E2 元素 |
E1+E2 | 相邻兄弟选择器 | 匹配所有紧接着 E1 元素之后的 E2 元素(只有一个) |
E[att] | 属性选择器 | 匹配所有具有 att 属性的 E 元素 |
E[att=val] | 属性选择器 | 匹配所有 att 属性等于”val”的 E 元素 |
E[att~=val] | 属性选择器 | 匹配所有 att 属性具有多个空格分隔的值、其中一个值等于”val”的 E 元素 |
E[att|=val] | 属性选择器 | 匹配所有 att 属性具有多个连字号分隔(hyphen-separated)的值、其中一个值以”val”开头的 E 元素,主要用于 lang 属性,比如”en”、”en-us”、”en-gb”等等 |
E:first-child | 伪类选择器 | 匹配父元素的第一个子元素 |
E:link | 伪类选择器 | 匹配所有未被点击的链接 |
E:visited | 伪类选择器 | 匹配所有已被点击的链接 |
E:active | 伪类选择器 | 匹配鼠标已经其上按下、还没有释放的 E 元素 |
E:hover | 伪类选择器 | 匹配鼠标悬停其上的 E 元素 |
E:focus | 伪类选择器 | 匹配获得当前焦点的 E 元素 |
E:lang(c) | 伪类选择器 | 匹配 lang 属性等于 c 的 E 元素 |
E:root | 结构性伪类选择器 | 匹配文档的根元素,对于 HTML 文档,就是 HTML 元素 |
E:nth-child(n) | 结构性伪类选择器 | 匹配其父元素的第 n 个子元素,第一个编号为 1 |
E:nth-last-child(n) | 结构性伪类选择器 | 匹配其父元素的倒数第 n 个子元素,第一个编号为 1 |
E:nth-of-type(n) | 结构性伪类选择器 | 与:nth-child()作用类似,但是仅匹配使用同种标签的元素 |
E:nth-last-of-type(n) | 结构性伪类选择器 | 与:nth-last-child() 作用类似,但是仅匹配使用同种标签的元素 |
E:last-child | 结构性伪类选择器 | 匹配父元素的最后一个子元素 |
E:first-of-type | 结构性伪类选择器 | 匹配父元素下使用同种标签的第一个子元素 |
E:last-of-type | 结构性伪类选择器 | 匹配父元素下使用同种标签的最后一个子元素 |
E:only-child | 结构性伪类选择器 | 匹配父元素下仅有的一个子元素, |
E:only-of-type | 结构性伪类选择器 | 匹配父元素下使用同种标签的唯一一个子元素 |
E:empty | 结构性伪类选择器 | 匹配一个不包含任何子元素的元素,注意,文本节点也被看作子元素 |
E:first-line | 伪元素 | 匹配 E 元素的第一行 |
E:first-letter | 伪元素 | 匹配 E 元素的第一个字母 |
E:before | 伪元素 | 在 E 元素之前插入生成的内容 |
E:after | 伪元素 | 在 E 元素之后插入生成的内容 |
选择器用法
由于选择器过多,这里只简单介绍几种常用的选择器
通配符选择器
通配符选择器经常用于样式的初始化,比如笔者经常用到的
上述样式表示去除掉所有元素默认的 margin、padding 值,优点是简单粗暴一次性完成所有元素的样式重置,缺点是不能精准控制
2. 标签选择器
选择我们所需要的标签并设置样式,这里会选择所有该标签元素并改变样式
效果:
3. 类选择器
给标签取 class 名,以点(.)加 class 名开头,选择所有该 class 名的元素
效果:
4. id 选择器
给标签取 id 名,以#加 id 名开头,具有唯一性,选择”id = ‘wrap’”的元素
效果:
5. 子选择器
以>隔开父子级元素
效果:
6. 后代选择器
以空格隔开包含关系的元素
效果:
7. 兄弟选择器
以~隔开兄弟关系的元素,所有兄弟元素
效果:
8. 相邻选择器
以+隔开相邻关系的元素,只有一个
效果:
9. 属性选择器
[type=text]修饰属性为type=text的元素
效果:
总结
熟练掌握 css 选择器的运用,将会为我们对页面的控制做到手到擒来,减少弯路。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)