掌握这30个CSS3选择器,提升前端开发效率
126 浏览量
更新于2024-08-31
收藏 111KB PDF 举报
"总结30个CSS3选择器"
在网页设计和开发中,CSS3选择器扮演着至关重要的角色,它们允许我们精确地控制页面元素的样式和布局。以下是30个CSS3选择器的详细解释,这些选择器极大地增强了CSS的灵活性和表现力。
1. 通用选择器 `*`:
通用选择器匹配任何元素,常用于初始化或清除所有元素的样式。例如,`* {margin: 0; padding: 0;}`可以清除默认的边距和填充。
2. ID选择器 `#id`:
使用ID选择器,可以定位具有特定ID的唯一元素,如`#container`。ID在整个文档中应该是唯一的,因此不宜频繁使用。
3. 类选择器 `.class`:
类选择器允许你为一个或多个元素应用相同的样式,只需将类名添加到CSS规则中。例如,`.error`可应用于所有带有“error”类的元素。
4. 后代选择器 `selector1 selector2`:
后代选择器(空格分隔)用于选择位于另一元素内的任何级别的子元素。例如,`li a`会选择所有在`li`元素内的`a`元素。
5. 标签选择器 `tagname`:
直接使用元素名称作为选择器,如`a`或`ul`,可以应用于页面上所有相应类型的元素。
6. 伪类选择器:
- `:link`:应用于未被访问的链接。
- `:visited`:应用于已被访问过的链接。
- `:hover`:当鼠标悬停在元素上时应用。
- `:active`:元素在被点击并保持活动状态时应用。
7. 相邻兄弟选择器 `selector1 + selector2`:
选择紧跟在`selector1`后面的第一个`selector2`元素。例如,`div + p`会选择紧跟在`div`元素后面的`p`元素。
8. 兄弟选择器 `selector1 ~ selector2`:
选择所有紧跟在`selector1`后面的`selector2`元素,但不仅限于第一个。这与相邻兄弟选择器不同,它不局限于紧邻的元素。
9. 子代选择器 `selector1 > selector2`:
选择`selector1`的直接子元素`selector2`。例如,`ul > li`会选择所有`ul`下的直接`li`子元素。
10. 属性选择器 `[attr]`、`[attr=value]`、`[attr~=value]`、`[attr|=value]`、`[attr^=value]`、`[attr$=value]`、`[attr*=value]`:
- `[attr]`:选择具有指定属性的元素。
- `[attr=value]`:选择属性值等于指定值的元素。
- `[attr~=value]`:选择属性值包含空格分隔的单词中包含指定值的元素。
- `[attr|=value]`:选择属性值是以指定值开头,后跟破折号(-)的元素。
- `[attr^=value]`:选择属性值以指定值开头的元素。
- `[attr$=value]`:选择属性值以指定值结尾的元素。
- `[attr*=value]`:选择属性值中包含指定值的元素。
11. 伪元素选择器 `::before` 和 `::after`:
在元素内容之前或之后插入内容,通常与`content`属性一起使用。
12. `:not(selector)`:
选择不符合指定选择器的元素。
13. `:nth-child(an+b)`、`:nth-last-child(an+b)`、`:nth-of-type(an+b)`、`:nth-last-of-type(an+b)`:
根据元素在父元素中的位置选择元素,如`:nth-child(2n+1)`会选择所有奇数位置的子元素。
14. `:first-child`、`:last-child`、`:first-of-type`、`:last-of-type`:
选择父元素的第一个或最后一个子元素,或同类型元素的第一个或最后一个。
15. `:only-child`、`:only-of-type`:
选择没有其他兄弟元素或同类型兄弟元素的元素。
16. `:empty`:
选择没有子元素(包括文本节点)的元素。
17. `:target`:
选择当前活动的URL锚点(如`#section1`)所对应的元素。
18. `:checked`:
选择被选中的表单元素,如`input[type="checkbox"]:checked`。
19. `:enabled`、`:disabled`:
选择表单元素启用或禁用的状态。
20. `:focus`:
选择当前获得焦点的元素。
21. `:valid`、`:invalid`:
验证表单元素的值是否符合规定,如`input:required:invalid`表示输入为空且要求必填。
22. `:in-range`、`:out-of-range`:
用于限制表单输入的值范围,如`input[type="number"]:in-range`。
23. `:required`、`:optional`:
根据表单元素是否需要填写来选择元素。
24. `:lang(language)`:
选择具有特定语言的元素,如`p.lang-fr`会选择语言为法语的段落。
25. `:not()`:
选择器内部可以是其他选择器,用来选择不匹配指定条件的元素。
26. `::selection`:
选择用户当前选取的文本。
27. `::before` 和 `::after`:
用于在元素内容前或后插入内容,常用于创建伪元素。
28. `:any-link`:
选择链接元素,无论其`href`属性是否为空。
29. `:local-link`:
选择相对URL链接的元素。
30. `:default`:
选择表单中默认选中的元素,如默认按钮。
了解和熟练使用这些CSS3选择器,可以帮助开发者更高效地编写样式,提高代码的可读性和可维护性,同时减少不必要的复杂性。在实际项目中,结合使用这些选择器可以实现精细的页面布局和交互效果。
2016-11-05 上传
2018-04-03 上传
2019-03-16 上传
2020-12-02 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38660327
- 粉丝: 8
- 资源: 952
最新资源
- Python中快速友好的MessagePack序列化库msgspec
- 大学生社团管理系统设计与实现
- 基于Netbeans和JavaFX的宿舍管理系统开发与实践
- NodeJS打造Discord机器人:kazzcord功能全解析
- 小学教学与管理一体化:校务管理系统v***
- AppDeploy neXtGen:无需代理的Windows AD集成软件自动分发
- 基于SSM和JSP技术的网上商城系统开发
- 探索ANOIRA16的GitHub托管测试网站之路
- 语音性别识别:机器学习模型的精确度提升策略
- 利用MATLAB代码让古董486电脑焕发新生
- Erlang VM上的分布式生命游戏实现与Elixir设计
- 一键下载管理 - Go to Downloads-crx插件
- Java SSM框架开发的客户关系管理系统
- 使用SQL数据库和Django开发应用程序指南
- Spring Security实战指南:详细示例与应用
- Quarkus项目测试展示柜:Cucumber与FitNesse实践