在最近的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选择器相关推荐

  1. JeecgBoot 单体升级微服务快速方案(十分钟搞定)

    JeecgBoot 单体升级微服务方案(十分钟搞定) 当前系统分为system.demo 等模块,现有需求把每个模块单独启动作为微服务应用,故而推出新版boot[20200812beta],支持快速切 ...

  2. 逗号后面统一加空格_十分钟搞定字幕,教你做加字幕的“快手菜”

    平台上许多同学有疑问:做视频是否有加字幕的必要呢? 其实除了外语需要翻译.语速过快加字幕方便理解.普通话不标准等情况之外,还是建议有余力的同学可以加上字幕,提升用户的观看体验. 那么问题来了,存在以下 ...

  3. 全网最简单的C# json数据解析 无敌菜鸟教程 十分钟搞定json数据解析

    全网最简单的C# json数据解析 无敌菜鸟教程 十分钟搞定json数据解析 废话先说一点,算了.直接进入正题吧. 用例子说话: JSON数据: string json: " {" ...

  4. JAVA微信企业付款到零钱(十分钟搞定),附完整DEMO下载

    最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信提现功能开发的流程, 主要就是按规则封装好请求参数调用微信接口,涉及一些签名校验: A.接口流程 获取用户OPENI ...

  5. java 分组报表_【Java】分组报表怎么做,积木报表十分钟搞定!

    首页 专栏 java 文章详情 0 分组报表怎么做,积木报表十分钟搞定! scott发布于 今天 12:24 报表需求 某大型超市需要做一张年度区域销售统计报表 展示2019和2020年度各地区每月的 ...

  6. java零钱换整程序_JAVA微信企业付款到零钱(十分钟搞定),

    JAVA微信企业付款到零钱(十分钟搞定), 最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信企业付款到零钱的开发过程, 主要就是按规则封装好请求参数调用微信接口,涉 ...

  7. mfc远程连接mysql数据库连接_MFC连接mysql数据库(十分钟搞定)

    最近要做一个大作业,需要用到数据库,sql server装了两次都失败,遂弃暗投明,用mysql,虽然我从来没有接触过,数据库么,一通百通的,5分钟就熟悉了.问题的关键是要用MFC连接mysql数据库 ...

  8. 支付宝上线新功能:去这个国家入境十分钟搞定!

    11月15日,作为"新马泰"旅游胜地的泰国是出国旅游热度最高的几个国家之一.据统计,2018年中国游客赴泰旅游突破了1054万人,比2017年上升了7.4%.2018年赴泰旅游的中 ...

  9. poi实现excel上传下载 亲自实践 教你十分钟搞定

    今天要实现一个上传excel的功能,之前写过很多次,但是都没有详细整理过,今天整理下,方便以后直接拿来拷贝 首先从前台来看,看了很多案例,基本两种方法:一种是form表单提交,一种是异步ajax方式. ...

最新文章

  1. 使用python创建自己的第一个神经网络模型吧!
  2. linux启动spark命令,在linux上安装spark
  3. java垃圾回收菜鸟_java垃圾回收机制
  4. 二维码相关---java生成二维码名片,并且自动保存到手机通讯录中...
  5. 【概率论与数理统计】小结8 - 三大抽样分布
  6. snmp是什么层协议_率先拥抱TSN——CC-Link发布新一代网络协议CC-Link IE TSN
  7. ATTILAX项目进展表VC425
  8. SharedPreferences小探
  9. 【目标检测 论文泛读】Fast R-CNN (一张表格对比 R-CNN SPP FRCN)
  10. Win7下64位扫雷逆向以及辅助制作
  11. 百度地图获取经纬度的方式
  12. android 酷我音乐接口,酷我音乐 各种付费歌曲,音质包括ape、flac无损音乐api接口...
  13. springMVC注解的意思
  14. 苹果手机速度慢_你玩手机的时候,Ta在用APP学日语 (安卓版APP,苹果也适用)...
  15. 【图解CAN总线】-6-classic CAN 2.0总线网络“负载率”计算
  16. 数据结构C语言之停车场管理
  17. 银河麒麟操作系统V10 安装KVM
  18. 数字信号处理——振动篇
  19. 根据经纬度判断车辆是否进度电子围栏
  20. (附源码)ssm学生管理系统 毕业设计 141543

热门文章

  1. 是什么构成了“人工智能”热潮?
  2. Spring3 整合MyBatis3 配置多数据源 动态选择SqlSessionFactory
  3. 使用日程安排自动化测试来更好地管理时间与资源
  4. Oracle把Java EE的未来押在Rest API上了?
  5. WCF学习之旅----基础篇之EnterpriseServices
  6. 2017安防市场新趋势:硬件免费 服务收费
  7. 广东联通携手英特尔:发布业内首款定制物联网模块产品
  8. 女程序员做了个梦,众网友的神回复
  9. [翻译] JTBorderDotAnimation
  10. Linq To Entity 的分页讨论