该部分主要为CSS3新增的选择器

接上一篇 CSS(CSS3)选择器(1)

一.通用兄弟选择器:

24:E ~ F,匹配任何E元素之后的同级F元素。

div ~ p{
background-color:#00FF00;
}

二.属性选择器:

25:E[att ^= val],匹配属性att的值以”val“开头的元素。

[id ^= start]{
background-color:red; ]
/*匹配以id属性的值为start开头的,如id="start1",id="start2",id="start3"的元素*/

26:E[att $= val],匹配属性att的值以”val“结尾的元素。

[id $= end]{
background-color:red; ]
/*匹配以id属性的值为end结尾的,如id="1end",id="2end",id="3end"的元素*/

27:E[att *= val],匹配属性att的值包含”val“字符串的元素。

[id $= hass]{
background-color:red; ]
/*匹配以id属性的值包含hass的,如id="1hass",id="hass2",id="3hass444"的元素*/

三.结构性伪类选择器:

28:E:root,匹配文档的根元素,对于HTML文档,就是HTML元素。(也就是说可能存在其他文档形式时使用,选中的是该文档类型的根元素)

:root{
background:red;
}
/*经测试,像div:root这样的写法是无效的*/

29:E:not,匹配不符合当前选择器的任何元素。

h1:not(.name) {
color: red;
}
/*其含义是,匹配所有h1元素的类名不为name的h1元素,如果:not选择器前面不带指明的元素是无效的*/

30:E:empty,匹配一个不包含任何子元素的元素,包括文本节点

.box:empty{
background:pink;
}

31:E:target,匹配文档中特定”id“,点击后的效果。

:target{
background: red;
}
/*通常用于锚点定位后,定位的目标点样式*/

32:E:last-child,匹配父元素的最后一个子元素。

li:last-child{
background-color:red;
}

33:E:nth-child(n),匹配其父元素的第n个子元素,从1开始。

li:nth-child(){
background-color:red;
}
li:nth-child(odd){
background-color:red;
}

34:E:nth-last-child(n),匹配其父元素的倒数第n个子元素,倒数第一个的index为1。

li:nth-last-child(){
background-color:red;
}
li:nth-last-child(even){
background-color:red;
}

35:E:nth-of-type(n),与:nth-child()作用类似,但是仅匹配同类型的元素。

h2:nth-of-type(odd){
background:red;
}

36:E:nth-last-of-type(n),与:nth-last-child() 作用类似,但是仅匹配同类型的元素。

h2:nth-last-of-type(even){
background:red;
}

37:E:first-of-type,匹配父元素下使用同种标签的第一个子元素。

h2:first-of-type{
background-color: yellow;
}

38:E:last-of-type,匹配父元素下使用同种标签的最后一个子元素。

h2:last-of-type{
background-color: yellow;
}

39:E:only-child,匹配父元素下仅有的一个子元素,等同于:first-child:last-child或 :nth-child(1):nth-last-child(1)。

li:only-child{
background-color: yellow;
}

40:E:only-of-type,匹配父元素下使用同种标签的唯一一个子元素,等同于:first-of-type:last-of-type或 :nth-of-type(1):nth-last-of-type(1)。

li:only-of-type{
background-color: yellow;
}

四.UI元素状态伪类选择器:

41:E:enabled,匹配表单中激活的元素。

input[type="text"]:enabled{
background-color:yellow;
}

42:E:disabled,匹配表单中禁用的元素。

input[type="text"]:disabled{
background-color:purple;
}

43:E:read-only,指定当元素处于只读状态时的样式。

input[type="text"]:read-only{
background-color: gray;
}

44:E:read-write,指定当元素处于非只读状态时的样式。

input[type="text"]:read-write{
background-color: greenyellow;
}

45:E:checked,匹配表单中被选中的radio(单选框)或checkbox(复选框)元素。

input[type="checkbox"]:checked {
outline:2px solid blue;
}

46:E:default,指定但页面打开时默认处于选取状态的单选框或复选框控件的样式。需要注意的是,即使用户将该单选框或复选框的选取状态设定为非选取状态,该样式仍然有效。

input[type="checkbox"]:default {
outline:2px solid blue;
}

47:E:indeterminate,指定当页面打开时,一组单选框中没有任何一个单选框被设定为选取状态时,整组单选框的样式,如果用户选取了任何一个单选框,那么该样式则取消。

input[type="radio"]:indeterminate{
outline: solid 3px blue;
}

48:E::selection,用来指定该元素处于选中状态时的样式。

p::selection{
background:red;
color:#FFF;
}
input[type="text"]::selection{
background:gray;
color:#FFF;
}

49:E:invalid,用来指定元素的内容无法通过H5元素的属性所指定的检查(required)或元素的内容不符合规定的格式(type=Email等)。

input[type="text"]:invalid{
background-color: red;
}

50:E:valid,用来指定元素的内容可以通过H5元素的属性所指定的检查(required)或元素的内容不符合规定的格式(type=Email等)。

input[type="text"]:valid{
background-color: white;
}

51:E:required,用来指定允许使用required属性,并且已经指定了required属性的input,select,textarea元素的样式。

input[type="text"]:required{
border-color: red;
border-width:3px;
}

52:E:optional,用来指定允许使用required属性,并且未指定了required属性的input,select,textarea元素的样式。

input[type="text"]:optional{
border-color: black;
border-width:3px;
}

53:E:in-range,用来指定当元素的有效值被限定在一定范围之内(通常通过min属性值或者max属性值来限定),且实际输入值在该范围内时使用的样式。

input[type="number"]:in-range{
background-color: white;
}

54:E:out-of-range,用来指定当元素的有效值被限定在一定范围之内(通常通过min属性值或者max属性值来限定),且实际输入值不在该范围内时使用的样式。

input[type="number"]:out-of-range{
background-color: red;
}

55:E::placeholder,用来改变文字占位符的样式。

input::placeholder{
color:red;
}

至此,CSS(CSS3)选择器的简单说明笔记就到这里结束了,其实这些内容包含了CSS(CSS3)世界的绝大多数常用选择器,当然,还有些不常用的如果大家有兴趣,可以自行搜索资料。

参考:css选择器笔记30个你必须熟记的css选择器MDN-docs-选择器介绍,HTML5和CSS3权威指南(第3版下册-庐陵牛)第十九章,before和after伪元素的用法

CSS(CSS3)选择器(2)的更多相关文章

  1. CSS(CSS3)选择器(1)

    这篇文章主要用于存储CSS以及CSS3的选择器部分知识,以便日后查阅及记忆. 该内容分为两部分,第一部分为css选择器的一些基本知识.第二部分为CSS3新增加的选择器. 在开始之前,先简单介绍一下选择 ...

  2. CSS/CSS3

    CSS/CSS3 选择器. 选择器 例子 例子描述 CSS 说明 .class .intro 选择 class="intro" 的所有元素. 1 #id #firstname 选择 ...

  3. CSS属性、伪类选择器,CSS3选择器

    CSS1时IE6是部分支持,伟大的IE6!CSS2时IE6部分支持,伟大的IE6依旧是部分支持!CCS3盛行CSS4也已经提上日程的现在,IE6完全不支持.IE6你该走了,我们会永远记住你的功绩的!I ...

  4. 总结30个CSS3选择器

    或许大家平时总是在用的选择器都是:#id  .class  以及标签选择器.可是这些还远远不够,为了在开发中更加得心应手,本文总结了30个CSS3选择器,希望对大家有所帮助. 1 *:通用选择器 ;; ...

  5. CSS的选择器

    <div id="demo"> <div class="inner"> <p><a href="#" ...

  6. 总结30个CSS3选择器(转载)

    或许大家平时总是在用的选择器都是:#id  .class  以及标签选择器.可是这些还远远不够,为了在开发中更加得心应手,本文总结了30个CSS3选择器,希望对大家有所帮助. 1 *:通用选择器 * ...

  7. css3 选择器(三)

    接css3选择器(一) 接css3 选择器(二) 这篇和前两篇内容相关性不大,主要是涉及到一些css3的状态选择器,所以标题从一开始. 一.[:enabled]选择器 一看这个属性就知道是专为表单元素 ...

  8. CSS/CSS3常用样式小结

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

  9. CSS3选择器介绍

    1.css3属性选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

随机推荐

  1. Http协议规范及格式

    HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616.HTTP协议采用了请求/响应模型.客户 ...

  2. 【php】curl常见的错误号和解释

    curl 错误代码列表 CURLE_UNSUPPORTED_PROTOCOL (1) – 您传送给 libcurl 的网址使用了此 libcurl 不支持的协议. 可能是您没有使用的编译时选项造成了这 ...

  3. SQL注入攻击三部曲之入门篇

    SQL注入攻击三部曲之入门篇 服务器安全管理员和攻击者的战争仿佛永远没有停止的时候,针对国内网站的ASP架构的SQL注入攻击又开始大行其道.本篇文章通过SQL注入攻击原理引出SQL注入攻击的实施方法, ...

  4. HighCharts之2D数值带有百分数的面积图

    HighCharts之2D数值带有百分数的面积图 1.HighCharts之2D数值带有百分数的面积图源码 AreaPercentage.html: <!DOCTYPE html> < ...

  5. HighCharts之2D堆柱状图

    HighCharts之2D堆柱状图 1.HighCharts之2D堆柱状图源码 Stacked.html: <!DOCTYPE html> <html> <head> ...

  6. C#中的匿名函数使用,类名<T>

    C#中有个叫做"泛型"的集合,就是说只是个外壳,到底是int,string,bool还是什么类型,都可以按照自己的要求进行定义集合,所以我们用个"T"表示. 请 ...

  7. es6的新特性--模板字符串

    这几天简单看了一下深入浅出es6这本书,感觉特实用,学习了一个新特性---模板字符串在项目开发中,拼接字符串是不可缺少的,动态创建dom元素以及js操作数据都要拼接字符串,在es6出来之前,我们都通常 ...

  8. word文档的动态添加数据

    解释:其实主要的思路就是先把word文档转化成xml格式的数据,然后在把xml格式的数据转化成字节流让程序来读取,最后在把字节流转化成xml格式的数据,然后在转化成word文档. poi工具也是这个思 ...

  9. equals与==号的区别?

    equals与 == 的区别 初学Java的人(me),有很长一段时间对equals()这个方法感到很懊恼,实在是弄不明白到底何时比较的是地址,又什么时候比较内容呢?因为要找工作,要面试.本人通过查阅 ...

  10. 8Manage:聚焦研发企业利器——研发项目管理

    [导读]研发是企业保持核心竞争力的基石.那么对于研发企业来说,如何计划研发项目目标.保障项目的稳定运行,如何分配人才.资源,把控项目成本呢?这些一系列问题摆在管理者面前!引入8Manage研发项目管理 ...