一、基本选择器

  • 子元素选择器

概念:子元素选择器只能选择某元素的子元素
语法格式:父元素 > 子元素 (Father > Children)
兼容性:IE8+、FireFox、Chrome、Safari、Opera

  • 相邻兄弟元素选择器

概念:相邻兄弟选择器可以选择紧接在另一元素后的元素,而且他们具有一个相同的父元素
语法格式:元素 + 兄弟相邻元素 (Eelement + Sibling)
兼容性:IE8+、FireFox、Chrome、Safari、Opera

  • 通用兄弟选择器

概念:选择某元素后面的所有兄弟元素,而且他们具有一个相同的父元素
语法格式:元素 ~ 后面所有兄弟相邻元素 (Eelement ~ Siblings)
兼容性:IE8+、FireFox、Chrome、Safari、Opera

  • 群组选择器

概念:群组选择器是将具有相同样式的元素分组在一起,每个选择器之间使用逗号“,”隔开
语法格式:元素1, 元素2, …, 元素n (Eelement1, Element2, …, Elementn)
兼容性:IE6+、FireFox、Chrome、Safari、Opera

二、属性选择器

  • Element[attribute]

概念:选择所有带有attribute属性元素
兼容性:IE8+、FireFox、Chrome、Safari、Opera

  • Element[attribute=“value”]

概念:选择所有使用attribute="value"的元素
兼容性:IE8+、FireFox、Chrome、Safari、Opera

  • Element[attribute~=“value”]

概念:选择 attribute 属性包含单词 "value" 的元素
兼容性:IE8+、FireFox、Chrome、Safari、Opera

  • Element[attribute*=“value”]

概念:选择attribute 属性包含 "value" 的所有元素
兼容性:IE8+、FireFox、Chrome、Safari、Opera

  • Element[attribute^=“value”]

概念:选择 attribute 属性值以 "value" 开头的所有元素
兼容性:IE8+、FireFox、Chrome、Safari、Opera

  • Element[attribute$=“value”]

概念:选择attribute 属性值以 "value" 结尾的所有元素
兼容性:IE8+、FireFox、Chrome、Safari、Opera

  • Element[attribute|=“value”]

概念:选择 attribute 属性值为 "value”或以 "value-" 开头的元素
兼容性:IE8+、FireFox、Chrome、Safari、Opera

三、伪类选择器

1、动态伪类

  • 锚点伪类

:link, :visited

  • 用户行为伪类

:hover, :active, :focus

  • UI元素状态伪类

:enabled 选择器匹配每个已启用的元素(大多用在表单元素上)
:disabled 选择器匹配每个被禁用的元素(大多用在表单元素上)
:checked 选择器匹配每个已被选中的 input 元素(只用于单选按钮和复选框)
兼容性:IE9+、FireFox、Chrome、Safari、Opera

2、CSS3结构类

  • Element:first-child

概念:选择属于其父元素的首个子元素的每个 Element 元素
兼容性:IE8+、FireFox、Chrome、Safari、Opera

  • Element:last-child

概念:指定属于其父元素的最后一个子元素的 Element 元素
兼容性:IE8+、FireFox、Chrome、Safari、Opera

  • Element:nth-child(N)

概念:匹配属于其父元素的第 N 个子元素,不论子元素是哪个都算入,匹配不到Element则无效
兼容性:IE9+、FireFox4+、Chrome、Safari、Opera

  • Element:nth-child(n)

n是一个简单表达式,取值从“0”开始计算。这里只能是“n”,不能用其他字母代替。

  • Element:nth-child(odd)、Element:nth-child(even)

odd和even是可用于匹配下标是奇数或偶数的Element元素的关键词(第一个的下标是 1)

  • Element:nth-last-child(N)

概念:匹配属于其元素的第 N 个子元素的每个元素,不论元素的类型,从最后一个子元素开始计数
兼容性:IE9+、FireFox4+、Chrome、Safari、Opera

  • Element:nth-of-type(N)

概念:匹配属于父元素的特定类型的第 N 个子元素的每个元素
兼容性:IE9+、FireFox4+、Chrome、Safari、Opera

  • Element:nth-last-of-type(N)

概念:匹配属于父元素的特定类型的第 N 个子元素的每个元素,从最后一个子元素开始计数
兼容性:IE9+、FireFox4+、Chrome、Safari、Opera

  • Element:first-of-type

概念:匹配属于其父元素的特定类型的首个子元素的每个元素
兼容性:IE9+、FireFox、Chrome、Safari、Opera

  • Element:last-of-type

概念:匹配属于其父元素的特定类型的最后一个子元素的每个元素
兼容性:IE9+、FireFox、Chrome、Safari、Opera

  • Element:only-child

概念:匹配属于其父元素的唯一子元素的每个元素

兼容性:IE9+、FireFox、Chrome、Safari、Opera

  • Element:only-of-type

概念:匹配属于其父元素的特定类型的唯一子元素的每个元素
兼容性:IE9+、FireFox4+、Chrome、Safari、Opera

  • Element:empty

概念:匹配没有子元素(包括文本节点)的每个元素
兼容性:IE9+、FireFox、Chrome、Safari、Opera

  • 否定选择器(:not)

概念:匹配非指定元素/选择器的每个元素
语法格式:父元素:not(子元素/子选择器) (Father:not(Children/selector))
兼容性:IE9+、FireFox、Chrome、Safari、Opera

3、伪元素

  • Element::first-line

概念:根据 "first-line" 伪元素中的样式对 Element 元素的第一行文本进行格式化
说明:"first-line" 伪元素只能用于块级元素

  • Element::first-letter

概念:用于向文本的首字母设置特殊样式
说明:"first-letter" 伪元素只能用于块级元素

  • Element::before

概念:在元素的内容前面插入新内容
说明:常用"content"配合使用

  • Element::after

概念:在元素的内容后面插入新内容
说明:常用“content”配合使用,多用于清除浮动
清除浮动例子:

.header::after{
display: block;
content: "";
clear: both;
}
  • Element::selection

概念:用于设置在浏览器中选中文本后的背景色与前景色
兼容性:::selection在IE家族中,只有IE9+版本支持,在Firefox中需要加上其前缀“-moz”

CSS3常用选择器的更多相关文章

  1. CSS3常用选择器(三)

    在CSS3的选择器中,除了结构性伪类选择器外,还有一种UI元素状态伪类选择器.这些选择器的共同特征: 指定的样式只有当元素处于某种状态时才起作用,在默认状态下不起作用. 1.hover.focus.a ...

  2. CSS3常用选择器(一)

    在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素.比如最常用到的#id,.class,标签选择器. 随着CSS3到来,增加了很多新型选择器,这里就常用的做一个总结. 1.属性选择器. 在c ...

  3. CSS3常用选择器(二)

    本文继续介绍css3新增的选择器. 1.选择器 first-child.last-child.nth-child 和 nth-last-child 利用这几个选择器能够针对一个父元素中的第一个子元素. ...

  4. CSS3 常用选择器

    p:last-of-type{background-color: red;} 选择p中最后一项 p:nth-of-type(2n){background-color: red;} 隔行变色里面也可以填 ...

  5. CSS3常用30种选择器总结

    CSS3常用30种选择器总结 HTML5/CSS3时尚的圆盘时钟动画 带当前日期 www.html5tricks.com/demo/html5-css3-clock-with-date/index.h ...

  6. CSS/CSS3常用样式小结

    1.强制文本单行显示: white-space:nowrap; 多行文本最后省略号: display: -webkit-box; -webkit-line-clamp:2; overflow: hid ...

  7. 【前端开发系列】—— CSS3属性选择器总结

    想想自己为什么要学CSS,作为一个开发过前端的人员来说,调试一个图片花了半天的时间,最后发现分隔符用错了,实在是一件很丢人的事情.因此,痛下决心来学习CSS,最近一周也会更新下相关的学习笔记. CSS ...

  8. [总结]CSS/CSS3常用样式与web移动端资源

    CSS/CSS3常用样式与知识点 IE条件注释 条件注释简介 IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法.条 ...

  9. css常用选择器选择器

    tap选择器 ulclass选择器 .id选择器 #后代选择器 a b子代选择器 a>b兄弟选择器 a + b 以a为参考给b加样式属性选择器 input [type="text&qu ...

随机推荐

  1. git 命令修改commit时的用户名和邮箱地址

    1.介绍 在git的用户名和邮箱是有一个仓库和全局之分的,在利用vs插件是也有显示:

  2. (转)移动端自定义返回上一页的方法:history

    在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面或执行一些其它操作的需求. 那在代码中怎样监听当点击微信.支付宝.百度糯米.百度钱包 ...

  3. 【C++】int转string,double转string方法,string转int,string转double方法

    C++的格式比较多比较复杂,转换起来有很多方法,我这里只提供一种,仅供参考. int或double转string 使用字符串流的方式可以比较简单的完成转换 需要添加头文件 #include <s ...

  4. Lexer的设计--上(3)

    lexer的构造函数 有了上一节Token做铺垫, 可以开始设计lexer, 首先应该想到的是, 源代码是以文件流的格式传到编译器中的, 所以作为编译器的前段的第一个阶段, lexer必须负责处理输入 ...

  5. php将秒转换为 分:秒 函数

    php将秒转换为 分:秒 函数 /** * 将秒转换为 分:秒 * s int 秒数 */ function s_to_hs($s=0){ //计算分钟 //算法:将秒数除以60,然后下舍入,既得到分 ...

  6. laravel 报错SQLSTATE[HY000] [2002] No such file or directory

    在mac中执行php artisan migrate时报错 SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from i ...

  7. SEED缓冲区溢出实验笔记

    缓冲区溢出实验(Linux 32位) 参考教程与材料:http://www.cis.syr.edu/~wedu/seed/Labs_12.04/Software/Buffer_Overflow/ (本 ...

  8. Win10版《芒果TV》全平台直播第89届奥斯卡颁奖典礼,特设第二演播室带来一手资讯

    芒果TV为所有中国影迷们带来的:今年的奥斯卡直播与往年格外不同,为了让网友们观看这场盛典得到多维度体验,不管是来看热闹的还是看门道的都看得开心尽兴,芒果TV特设第二演播室,为大家带来第一手新鲜热辣的现 ...

  9. QDialog之屏蔽Esc键(简单深刻,要么重写keyPressEvent然后break忽略此事件,要么重写eventFilter然后return,都是为了忽略此事件)

    简述 Qt中Esc键会在一些控件中默认的进行一些事件的触发,比如:QDialog,按下Esc键窗口消失.大多数情况下,我们不需要这么做,那么就需要对默认事件进行屏蔽. 简述 源码分析 事件过滤器 事件 ...

  10. Redis实现关注关系

    最近使用关系型数据库实现了用户之间的关注,于是思考换一种思路,使用Redis实现用户之间的关注关系. 综合考虑了一下Redis的几种数据结构后,觉得可以用集合实现一下. 假设"我" ...