css选择器大全
一、常用的选择器
元素选择器
作用:通过元素选择器可以选则页面中的所有指定元素 语法:标签名 { }
id选择器
作用:通过元素的id属性值选中唯一的一个元素 语法:#id属性值 { }
类选择器
作用:通过元素的class属性值选中一组元素 语法:.class属性值{ }
并集选择器
作用:通过选择器分组可以同时选中多个选择器对应的元素 语法:选择器1,选择器2,选择器N{ }
交集选择器
作用:可以选中同时满足多个选择器的元素 语法:选择器1选择器2选择器N{ }
通配选择器
作用:他可以用来选中页面中的所有的元素 语法:*{ }
二、子元素和后代元素选择器
元素之间的关系
父元素:直接包含子元素的元素 子元素:直接被父元素包含的元素 祖先元素:直接或间接包含后代元素的元素,父元素也是祖先元素 后代元素:直接或间接被祖先元素包含的元素,子元素也是后代元素 兄弟元素:拥有相同父元素的元素叫做兄弟元素
后代元素选择器
作用:选中指定元素的指定后代元素 语法:祖先元素 后代元素{}
子元素选择器
作用:选中指定父元素的指定子元素 语法:父元素 > 子元素
三、伪类选择器
概述
伪类专门用来表示元素的一种的特殊的状态。 比如:访问过的超链接,比如普通的超链接,比如获取焦点的文本框。 当我们需要为处在这些特殊状态的元素设置样式时,就可以使用伪类。
举例
:link 作用:表示普通的链接(没访问过的链接) :visited 作用:表示访问过的链接 :hover 作用:表示鼠标移入的状态 :active 作用:表示的是超链接被点击的状态 :focus 作用:表示文本框获取焦点 ps: :hover和:active也可以为其他元素设置(ie6不支持)
四、伪元素选择器
概述
使用伪元素来表示元素中的一些特殊的位置
举例
p:first-letter 作用:选择p中第一个字符 p:first-line 作用:选择p中的第一行 :before 作用:表示元素最前边的部分, 一般before都需要结合content这个样式一起使用,通过content可以向before或after的位置添加一些内容 :after 表示元素的最后边的部分
五、属性选择器
概述
可以根据元素中的属性或属性值来选取指定元素
示例
[属性名] 选取含有指定属性的元素 [属性名="属性值"] 选取含有指定属性值的元素 [属性名^="属性值"] 选取属性值以指定内容开头的元素 [属性名$="属性值"] 选取属性值以指定内容结尾的元素 [属性名*="属性值"] 选取属性值以包含指定内容的元素
六、子元素、兄弟元素选择器以及否定伪类
子元素选择器举例
:first-child 可以选中第一个子元素 :last-child 可以选中最后一个子元素 :nth-child(XXX) 可以选中任意位置的子元素,该选择器后边可以指定一个参数,指定要选中第几个子元素,even 表示偶数位置的子元素,odd 表示奇数位置的子元素。 :first-of-type、:last-of-type、:nth-of-type 和:first-child这些非常的类似,只不过child,是在所有的子元素中排列,而type,是在当前类型的子元素中排列
兄弟选择器举例:
前一个元素 + 后一个元素 作用:可以选中一个元素后紧挨着的指定的兄弟元素 前一个元素 ~ 后边所有元素 作用:选中后边的所有兄弟元素
否定伪类举例
作用:可以从已选中的元素中剔除出某些元素
七、选择器的优先级别
概述
当使用不同的选择器,选中同一个元素时并且设置相同的样式时,这时样式之间产生了冲突,最终到底采用哪个选择器定义的样式,由选择器的优先级(权重)决定,优先级高的优先显示。规则
内联样式 , 优先级 1000 id选择器, 优先级 100 类和伪类, 优先级 10 元素选择器,优先级 1 通配* , 优先级 0 继承的样式,没有优先级
其他情况:
当选择器中包含多种选择器时,需要将多种选择器的优先级相加然后在比较,但是注意,选择器优先级计算不会超过他的最大的数量级,如果选择器的优先级一样,则使用靠后的样式。
并集选择器的优先级是单独计算 div , p , #p1 , .hello{ }。
可以在样式的最后,添加一个!important,则此时该样式将会获得一个最高的优先级,将会优先于所有的样式显示甚至超过内联样式,但是在开发中尽量避免使用!important。