前端知识学习-----CSS3新增选择器

CSS常见的选择器有:

通配符选择器, 元素选择器,类选择器, ID选择器,后代选择器

CSS3新增基本选择器有:

子元素选择器,相邻兄弟选择器,通用兄弟选择器,群组选择器

基本选择器—-子元素选择器

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

基本选择器—-相邻兄弟元素选择器

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

基本选择器—-通用兄弟选择器

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

基本选择器—-群组选择器

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

CSS3属性选择器

对带有制定属性的HTML元素设置样式
使用CSS3属性选择器,你可以只指定元素的某个属性,或者你还可以同时指定元素的某个属性其对应的属性值。

概念:为带有attribute属性的Element元素设置样式
语法:Element[attribute]
兼容性:IE8+ , FireFox,Chrome,Safari,Opera

概念:为attribute=”value” 属性的Element元素设置样式
语法:Element[attribute=”value”]
兼容性:IE8+ , FireFox,Chrome,Safari,Opera

概念:选择attribute属性包含“value
“的元素,并设置其样式
语法:Element[attribute~=”value”]
兼容性:IE8+ , FireFox,Chrome,Safari,Opera
注意:当div[title~=f]时,
<img src="/statics/images/course/klematis.jpg" title="klematis ff" width="150" height="113" />
<img src="/statics/images/course/img_flwr.gif" title="f" width="224" height="162" />

两个img标签中只有第二个会被选中,因此这个选择器不是模糊查询

概念:设置attribute属性值以“value”开头的所有Element元素的样式
语法:Element[attribute^=”value”]
兼容性:IE8+ , FireFox,Chrome,Safari,Opera

概念:设置attribute属性值以“value”结尾的所有Element元素的样式
语法:Element[attribute$=”value”]
兼容性:IE8+ , FireFox,Chrome,Safari,Opera

概念:设置attribute属性值包含“value”的所有Element元素的样式
语法:Element[attribute*=”value”]
兼容性:IE8+ , FireFox,Chrome,Safari,Opera

概念:选择attribute属性值为“value”或以“value-”开头的元素,并设置其样式
语法:Element[attribute|=”value”]
兼容性:IE8+ , FireFox,Chrome,Safari,Opera
注意:这个选择器不是模糊查询

CSS3伪类选择器

包括:

动态伪类(锚点伪类,用户行为伪类)

动态伪类:
这些伪类并不存在HTML中,只有当用户和网站交互的时候才能体现出来
锚点伪类:
:link,:visited(访问之后)
用户行为伪类:
:hover(鼠标经过),:active(鼠标点击),:focus(input光标选中)

UI元素状态伪类

概念:我们把”:enabled(可输入)”,”:disabled(不可输入)”,”:checked(选中状态,仅兼容Opera)”伪类称为UI元素状态伪类
兼容性:IE9+,Firefox,Chrome,Safari,Opera

CSS3结构类

我们把CSS3 的:nth选择器称为CSS3结构类
选择方法:
:first-child,:last-child,:nth-child(),:nth-last-child(),:nth-of-type(),:nth-last-of-type(),:first-of-type,:last-of-type,:only-child,:only-of-type,:empty

Element:first-child
概念:选择属于父元素的首个子元素的每个Element元素,并为其设置样式
兼容性:IE8+,Firefox,Chrome,Safari,Opera

Element:last-child
概念:指定属于其父元素的最后一个元素的Element元素的样式
兼容性:IE8+,Firefox,Chrome,Safari,Opera

Element:nth-child(N)
概念:匹配属于其父元素的第N个子元素,不论元素的类型
n是一个简单的表达式,取值从0开始计算。这里只能是n,不能用其他字母代替。
Element:nth-child(odd),Element:nth-child(even)
odd和even是可用于匹配下标是奇数或偶数的Element元素的关键词(第一个的下标是1)
兼容性:IE8+,Firefox4+,Chrome,Safari,Opera

Element:nth-last-child(N)
概念:匹配属于其元素的第N个子元素的每个元素,不论元素的类型,从最后一个子元素开始计数
兼容性:IE9+,Firefox4+,Chrome,Safari,Opera

Element:nth-of-type(N)
概念:匹配属于父元素的特定类型的第N个子元素的每个元素
兼容性:IE9+,Firefox4+,Chrome,Safari,Opera

Element:nth-of-last-type(N)
概念:匹配属于父元素的特定类型的第N个子元素的每个元素,从最后一个子元素开始计数
兼容性:IE9+,Firefox4+,Chrome,Safari,Opera

Element:first-of-type
概念:匹配属于其父元素的特定类型的首个子元素的每个元素

Element:last-of-type
概念:匹配属于父元素的特定类型的最后一个子元素的每个元素
兼容性:IE9+,Firefox,Chrome,Safari,Opera

Element:only-child
概念: :only-child选择器匹配属于其父元素的唯一子元素的每个元素(即:父元素下只有一个元素且匹配)
兼容性:IE9+,Firefox,Chrome,Safari,Opera

Element:only-of-type
概念: :only-of-type选择器匹配属于其父元素的特定类型的唯一子元素的每个元素(即:父元素下的子元素只有一个特定类型的元素且匹配,其他类型可忽略)
兼容性:IE9+,Firefox4+,Chrome,Safari,Opera

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

否定选择器(:not)

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

伪元素

CSS伪元素用于向某些选择器设置特殊效果
语法格式:元素::伪元素 (Element::pseudo-element)
兼容性:IE9+,FireFox,Chrome,Safari,Opera

伪元素—Element::first-line

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

伪元素—Element::first-letter

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

伪元素—Element::before

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

伪元素—Element::after

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

伪元素—Element::selection

概念:用于设置在浏览器中选中文本后的背景色与前景色
兼容性说明:IE浏览器只有IE9支持,在火狐中需要加上前缀“-moz”

CSS权重

什么是权重:当很多的规则被应用到某一个元素上时,权重是一个决定哪种规则生效,或者是优先级的过程
权重等级与权值: 行内样式(1000)>ID选择器(100)>类,属性选择器和伪类选择器(10)>元素和伪元素(1)>*(0)
权重计算口诀: 从0开始,一个行内样式+1000,一个id+100,一个属性选择器,class或者伪类+10,一个元素名或者伪元素+1

CSS权重规则

包含更高权重选择器的一条规则拥有更高的权重
ID选择器(#idValue)的权重比属性选择器([id=“idValue”])高
带有上下文关系的选择器比单纯的元素选择器权重要高
与元素“挨得近”的规则生效
最后定义的这条规则会覆盖上面与之冲突的规则
无论多少个元素组成的选择器,都没有一个class选择器权重高
通配符选择器权重视0,被继承的CSS属性也带有权重,权重也是0

猜你喜欢

转载自blog.csdn.net/kf_qyl/article/details/79005082
今日推荐