十分钟搞定CSS选择器
在最近的web开发中是不是就会用到一些选择器,发现很多尤其是CSS3新增的不太熟悉,在此总结一下。
优先级
不同级别
1. 在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式。
2.作为style属性写在元素内的样式
3.id选择器
4.类选择器
5.标签选择器
6.通配符选择器
7.浏览器自定义
同一级别
同一级别中后写的会覆盖先写的样式
基础选择器
选择器 | 含义 |
* | 通用元素选择器,匹配页面任何元素(这也就决定了我们很少使用) |
#id | id选择器,匹配特定id的元素 |
.class | 类选择器,匹配class包含(不是等于)特定类的元素 |
element | 标签选择器 |
*{/*页面所有元素都使用*/border:0;}#test{/*id=test 的元素*/background-color:#0e0;}.staus{/*含有类status的元素*/border:0;}div{/*页面所有div*/background-color:#0e0;}
组合选择器
选择器 | 含义 |
E,F | 多元素选择器,用”,分隔,同时匹配元素E或元素F |
E F | 后代选择器,用空格分隔,匹配E元素所有的后代(不只是子元素、子元素向下递归)元素F |
E>F | 子元素选择器,用”>”分隔,匹配E元素的所有直接子元素 |
E+F | 直接相邻选择器,匹配E元素之后的相邻的同级元素F |
E~F | 普通相邻选择器(弟弟选择器),匹配E元素之后的同级元素F(无论直接相邻与否) |
.class1.class2 | 这个姑且也算一个吧,没什么名字,匹配类名中既包含class1又包含class2的元素 |
我就不一一举例子了,选择器并不是只能写两层,发现有些小朋友有这种误解,认为只能写E>F这样的,我们写可以写E>F.class Element这样,你要你搞得定优先级
属性选择器
选择器 | 含义 |
E[attr] | 匹配所有具有属性attr的元素,div[id]就能取到所有有id属性的div |
E[attr=value] | 匹配属性attr值为value的元素,div[id=test],匹配id=test的div |
E[attr~=value] | 匹配所有属性attr具有多个空格分隔、其中一个值等于value的元素 |
E[attr|=value] | 匹配所有att属性具有多个”-”分隔、其中一个值以value开头的元素,主要用于lang属性,比如“en”、“en-us” |
E[attr ^=value] | 匹配属性attr的值以value开头的元素 |
E[attr $=value] | 匹配属性attr的值以value结尾的元素 |
E[attr *=value] | 匹配属性attr的值包含value的元素 |
伪类选择器
选择器 | 含义 |
E:first-child | 匹配元素E的第一个子元素 |
E:link | 匹配所有未被点击的链接 |
E:visited | 匹配所有已被点击的链接 |
E:active | 匹配鼠标已经其上按下、还没有释放的E元素 |
E:hover | 匹配鼠标悬停其上的E元素 |
E:focus | 匹配获得当前焦点的E元素 |
E:lang(c) | 匹配lang属性等于c的E元素 |
E:enabled | 匹配表单中可用的元素 |
E:disabled | 匹配表单中禁用的元素 |
E:checked | 匹配表单中被选中的radio或checkbox元素 |
E::selection | 匹配用户当前选中的元素 |
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 | 匹配父元素的最后一个子元素,等同于:nth-last-child(1) |
E:first-of-type | 匹配父元素下使用同种标签的第一个子元素,等同于:nth-of-type(1) |
E:last-of-type | 匹配父元素下使用同种标签的最后一个子元素,等同于:nth-last-of-type(1) |
E:only-child | 匹配父元素下仅有的一个子元素,等同于:first-child:last-child或 :nth-child(1):nth-last-child(1) |
E:only-of-type | 匹配父元素下使用同种标签的唯一一个子元素,等同于:first-of-type:last-of-type或 :nth-of-type(1):nth-last-of-type(1) |
E:empty | 匹配一个不包含任何子元素的元素,文本节点也被看作子元素 |
E:not(selector) | 匹配不符合当前选择器的任何元素 |
伪元素选择器
选择器 | 含义 |
E:first-line | 匹配E元素内容的第一行 |
E:first-letter | 匹配E元素内容的第一个字母 |
E:before | 在E元素之前插入生成的内容 |
E:after | 在E元素之后插入生成的内容 |
转载于:https://www.cnblogs.com/dolphinX/p/3347713.html
十分钟搞定CSS选择器相关推荐
- JeecgBoot 单体升级微服务快速方案(十分钟搞定)
JeecgBoot 单体升级微服务方案(十分钟搞定) 当前系统分为system.demo 等模块,现有需求把每个模块单独启动作为微服务应用,故而推出新版boot[20200812beta],支持快速切 ...
- 逗号后面统一加空格_十分钟搞定字幕,教你做加字幕的“快手菜”
平台上许多同学有疑问:做视频是否有加字幕的必要呢? 其实除了外语需要翻译.语速过快加字幕方便理解.普通话不标准等情况之外,还是建议有余力的同学可以加上字幕,提升用户的观看体验. 那么问题来了,存在以下 ...
- 全网最简单的C# json数据解析 无敌菜鸟教程 十分钟搞定json数据解析
全网最简单的C# json数据解析 无敌菜鸟教程 十分钟搞定json数据解析 废话先说一点,算了.直接进入正题吧. 用例子说话: JSON数据: string json: " {" ...
- JAVA微信企业付款到零钱(十分钟搞定),附完整DEMO下载
最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信提现功能开发的流程, 主要就是按规则封装好请求参数调用微信接口,涉及一些签名校验: A.接口流程 获取用户OPENI ...
- java 分组报表_【Java】分组报表怎么做,积木报表十分钟搞定!
首页 专栏 java 文章详情 0 分组报表怎么做,积木报表十分钟搞定! scott发布于 今天 12:24 报表需求 某大型超市需要做一张年度区域销售统计报表 展示2019和2020年度各地区每月的 ...
- java零钱换整程序_JAVA微信企业付款到零钱(十分钟搞定),
JAVA微信企业付款到零钱(十分钟搞定), 最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信企业付款到零钱的开发过程, 主要就是按规则封装好请求参数调用微信接口,涉 ...
- mfc远程连接mysql数据库连接_MFC连接mysql数据库(十分钟搞定)
最近要做一个大作业,需要用到数据库,sql server装了两次都失败,遂弃暗投明,用mysql,虽然我从来没有接触过,数据库么,一通百通的,5分钟就熟悉了.问题的关键是要用MFC连接mysql数据库 ...
- 支付宝上线新功能:去这个国家入境十分钟搞定!
11月15日,作为"新马泰"旅游胜地的泰国是出国旅游热度最高的几个国家之一.据统计,2018年中国游客赴泰旅游突破了1054万人,比2017年上升了7.4%.2018年赴泰旅游的中 ...
- poi实现excel上传下载 亲自实践 教你十分钟搞定
今天要实现一个上传excel的功能,之前写过很多次,但是都没有详细整理过,今天整理下,方便以后直接拿来拷贝 首先从前台来看,看了很多案例,基本两种方法:一种是form表单提交,一种是异步ajax方式. ...
最新文章
- 使用python创建自己的第一个神经网络模型吧!
- linux启动spark命令,在linux上安装spark
- java垃圾回收菜鸟_java垃圾回收机制
- 二维码相关---java生成二维码名片,并且自动保存到手机通讯录中...
- 【概率论与数理统计】小结8 - 三大抽样分布
- snmp是什么层协议_率先拥抱TSN——CC-Link发布新一代网络协议CC-Link IE TSN
- ATTILAX项目进展表VC425
- SharedPreferences小探
- 【目标检测 论文泛读】Fast R-CNN (一张表格对比 R-CNN SPP FRCN)
- Win7下64位扫雷逆向以及辅助制作
- 百度地图获取经纬度的方式
- android 酷我音乐接口,酷我音乐 各种付费歌曲,音质包括ape、flac无损音乐api接口...
- springMVC注解的意思
- 苹果手机速度慢_你玩手机的时候,Ta在用APP学日语 (安卓版APP,苹果也适用)...
- 【图解CAN总线】-6-classic CAN 2.0总线网络“负载率”计算
- 数据结构C语言之停车场管理
- 银河麒麟操作系统V10 安装KVM
- 数字信号处理——振动篇
- 根据经纬度判断车辆是否进度电子围栏
- (附源码)ssm学生管理系统 毕业设计 141543