CSS中的选择器(一)
API文档:http://css.cuishifeng.cn/all.html
1. 通配选择符(*)
语法:
* { sRules }
说明:
通常不建议使用通配选择符,因为它会遍历并命中文档中所有的元素,出于性能考虑,需酌情使用
兼容性:
IE6及更早浏览器并不支持通配选择符(*),而是将它忽略了,所以也变相的能看到效果。
2. 类型选择符(E)
语法:
E { sRules }
3. ID选择符(E#id)
语法:
E#myid { sRules }
4. 类选择符(E.class)
语法:
E.myclass { sRules }
说明:
不同于ID选择符的唯一性,类选择符可以同时定义多个。
.a.b { color: #f00; }
兼容性:
IE6不支持多类选择符,形如:.a.b {}
5. 包含选择符(E F)
语法:
E F { sRules }
说明:
选择所有被E元素包含的F元素。
6. 子选择符(E>F)
语法:
E>F { sRules }
说明:
选择所有作为E元素的子元素F。
与 包含选择符(E F) 不同的是,子选择符只能命中子元素,而不能命中孙辈。
<div class="demo">
<div class="a">
<div class="b">子选择符</div>
</div>
</div>
.demo > div { position: relative; }
此例只有 .a 会被命中,因为它是 .demo 的子元素;
兼容性:
IE6不支持
7. 相邻选择符(E+F)
语法:
E+F { sRules }
说明:
选择紧贴在E元素之后F元素,元素E与F必须同属一个父级。
兼容性:
IE6不支持
8. 兄弟选择符(E~F)
语法:
E~F { sRules }
说明:
选择E元素后面的所有兄弟元素F,元素E与F必须同属一个父级。
需要注意的是,选择的只是同级的元素F,后代中的元素F不会被选择。
兼容性:
IE6不支持
9. E:link
语法:
E:link { sRules }
说明:
设置超链接a在未被访问前的样式。
如果需要给超链接定义:访问前,鼠标悬停,当前被点击,已访问这4种伪类效果,而又没有按照一致的书写顺序,不同的浏览器可能会有不同的表现。超链接的4种状态,需要有特定的书写顺序才能生效。
a:link {} a:visited {} a:hover {} a:active {}
注意,a:hover 必须位于 a:link 和 a:visited 之后,a:active 必须位于 a:hover 之后
可靠的顺序是:l(link)ov(visited)e h(hover)a(active)te, 即用喜欢(love)和讨厌(hate)两个词来概括
兼容性:
IE7及更早浏览器只支持a元素的:active,从IE8开始支持其它元素的:active。
10. E:focus
语法:
E:focus { sRules }
说明:
设置对象在成为输入焦点(该对象的onfocus事件发生)时的样式。
webkit内核浏览器会默认给:focus状态的元素加上outline的样式。
兼容性:
IE7及以下不兼容
11. E:first-child
语法:
E:first-child { sRules }
说明:
匹配父元素的第一个子元素E。
要使该属性生效,E元素必须是某个元素的子元素,E的父元素最高是body,即E可以是body的子元素
12. E[att]
语法:
E[att] { sRules }
说明:
选择具有att属性的E元素。
兼容性:
IE6不兼容
13. E[att="val"]
语法:
E[att="val"] { sRules }
说明:
择具有att属性且属性值等于val的E元素。
兼容性:
IE6不兼容
14. E[att~="val"]
语法:
E[att~="val"] { sRules }
说明:
选择具有att属性且属性值为一用空格分隔的字词列表,其中一个等于val的E元素(包含只有一个值且该值等于val的情况)。
兼容性:
IE6不兼容
15. E[att^="val"]
语法:
E[att^="val"] { sRules }
说明:
选择具有att属性且属性值为以val开头的字符串的E元素。
兼容性:
IE6不兼容
16. E[att$="val"]
语法:
E[att$="val"] { sRules }
说明:
选择具有att属性且属性值为以val结尾的字符串的E元素。
兼容性:
IE6不兼容
17. E[att*="val"]
语法:
E[att*="val"] { sRules }
说明:
选择具有att属性且属性值为包含val的字符串的E元素。
兼容性:
IE6不兼容
18. E[att|="val"]
语法:
E[att|="val"] { sRules }
说明:
选择具有att属性,其值是以val开头并用连接符"-"分隔的字符串的E元素;如果值仅为val,也将被选择。
这样理解会更简单:如果元素E拥有att属性,并且值为val,或者值是以val-开头的,那么E将会被选择。
兼容性:
IE6不兼容
CSS中的选择器(一)的更多相关文章
- CSS中的选择器之类选择器和id选择器
1.css中的选择器: 1.类选择器,又叫class选择器 2.id选择器 3.html元素选择器(又叫标签选择器) 4.通配符选择器 5.伪类选择器 6.组合选择器(多元素选择器,子元素选择器,后代 ...
- css中:not()选择器和jQuery中.not()方法
因为老是将这两个的not方法弄混,所以写一下备忘. css中:not()选择器用法 :not 伪类选择器可以筛选不符合表达式的元素,:not(selector) 其中的selector为css选择器 ...
- CSS中的选择器(笔记)
1.通配符选择器(*):通配符选择器是用来选择所有元素,也可以选择某个元素下的所有元素.所有浏览器都支持通配符选择器. ;;} .dome *{padding: 2px;} 2.元素选择器(Ele): ...
- css中的选择器
选择器 说明 * 通用元素选择器,匹配任何元素 E 标签选择器,匹配所有使用E标签(所有HTML元素)的元 ...
- CSS中选择器优先级与!important权重使用
CSS中的选择器优先级与!important权重使用 .class选择器要高于标签选择器. #id选择器要高于.class选择器. 标签选择器是优先级最低的选择器. !important的属性它的权重 ...
- css3笔记系列-3.css中的各种选择器详解,不看后悔系列
点击上方蓝色字体,关注我 最详细的css3选择器解析 选择器是什么? 比较官方的解释:在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素. 最常见的 CSS 选择器是元素选择器.换句话说 ...
- css中的继承、层叠、样式优先级机制
一.继承与层叠:
- HTML5中class选择器属性的解释
设置有class属性值的元素,可以被css中的选择器调用,也可以在javascript中以getElementsByClassName()方法调用. 可以给各个元素添加class而且名称可以相同与id ...
- 纯html+css中实现静态选座位效果技巧(input+label使用小技巧)
很多时候,我们想通过html+css的方式实现排列在后方的代码在选中状态下,能控制排列在前的代码的样式.那么要怎么实现呢?在这里我就要用1个小技巧来完成. 众所周知的,我们css中的选择器通常只能向下 ...
随机推荐
- Java核心(一)深入理解BIO、NIO、AIO
目标: BIO.NIO.AIO 的区别是什么? 同/异步.阻/非阻塞的区别是什么? 文件读写最优雅的实现方式是什么? NIO 如何实现多路复用功能? 一,IO的介绍: (1)IO的全称其实是:Inpu ...
- Java流程控制之选择语句
选择语句 选择语句也称之为判断语句,主要有2种写法,一种是if语句,一种是switch语句.下面我们就详细的介绍一下这2种语句的用法. 判断语句if if语句第一种形式: if 格式: 执行流程 首先 ...
- LG2679 「NOIP2015」子串 线性DP
问题描述 LG2679 题解 设\(opt[i][j]\)代表A串前\(i\)个,匹配\(B\)串前\(j\)个,选择了\(k\)个子串的方案数. 转移用前缀和优化一下. \(\mathrm{Code ...
- 打包一个python解释器
利用python的exec语句,可以很方便地动态执行python语句.如果一个python代码打包为了exe,其原先的代码就很难更改了.一个好的解决方法就是import相应的库,然后把主程序段放到一个 ...
- golang数据结构之递归解决迷宫问题
简单来说:递归就是函数/方法自己调用自己,只是每次传入不同的变量. 递归可以解决各种数学问题:n皇后问题.阶乘问题.汉诺塔.迷宫问题.球和篮子问题等等: maze.go package maze im ...
- TensorFlow2.0教程-使用keras训练模型
1.一般的模型构造.训练.测试流程 # 模型构造 inputs = keras.Input(shape=(784,), name='mnist_input') h1 = layers.Dense(64 ...
- pandas 学习 第1篇:pandas基础 - 数据结构和数据类型
pandas是基于NumPy构建的模块,含有使数据分析更快更简单的操作工具和数据结构,是数据分析必不可少的五个包之一.pandas包含序列Series和数据框DataFrame两种最主要数据结构,索引 ...
- Maven的assembly插件在linux启动卡住Starting the localhost.localdomain
1.今天在测试assembly的时候,在Linux虚拟机,内存配置为512mb,然后开始在Linux上运行assembly的时候就会一直卡住 2.停止运行后,查看了下日志 [root@localho ...
- centos7下通过yum方式安装docker环境
1.移除旧版本: yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ ...
- echarts地图map城市间如何连线
let bjData = [ [{name:'北京'}, {name:'上海',value:95}], [{name:'北京'}, {name:'广州',value:90}]]; let conver ...