你不得不掌握的css选择器

举报
khz 发表于 2020/07/02 16:24:59 2020/07/02
【摘要】 前言什么是 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 元素之后插入生成的内容

选择器用法

由于选择器过多,这里只简单介绍几种常用的选择器

  1. 通配符选择器
    通配符选择器经常用于样式的初始化,比如笔者经常用到的

image.png

上述样式表示去除掉所有元素默认的 margin、padding 值,优点是简单粗暴一次性完成所有元素的样式重置,缺点是不能精准控制
2. 标签选择器
选择我们所需要的标签并设置样式,这里会选择所有该标签元素并改变样式

image.png

效果:
image.png
3. 类选择器

给标签取 class 名,以点(.)加 class 名开头,选择所有该 class 名的元素

image.png

效果:

image.png

4. id 选择器

给标签取 id 名,以#加 id 名开头,具有唯一性,选择”id = ‘wrap’”的元素

image.png

效果:
image.png
5. 子选择器

以>隔开父子级元素

image.png

效果:
image.png
6. 后代选择器

以空格隔开包含关系的元素

image.png

效果:

image.png

7. 兄弟选择器

以~隔开兄弟关系的元素,所有兄弟元素

image.png

效果:
image.png
8. 相邻选择器

以+隔开相邻关系的元素,只有一个

image.png

效果:

image.png

9. 属性选择器

[type=text]修饰属性为type=text的元素

image.png

效果:
image.png

总结

熟练掌握 css 选择器的运用,将会为我们对页面的控制做到手到擒来,减少弯路。



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。