文章转自:http://www.cnblogs.com/dolphinX/p/3347713.html
在最近的web开发中是不是就会用到一些选择器,发现很多尤其是CSS3新增的不太熟悉,在此总结一下。
不同级别
1. 在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式。
2.作为style属性写在元素内的样式
3.id选择器
4.类选择器
5.标签选择器
6.通配符选择器
7.浏览器自定义
同一级别
同一级别中后写的会覆盖先写的样式
* { /*页面所有元素都使用*/ border:0; } #test { /*id=test 的元素*/ background-color:#0e0; } .staus { /*含有类status的元素*/ border:0; } div { /*页面所有div*/ background-color:#0e0; }
我就不一一举例子了,选择器并不是只能写两层,发现有些小朋友有这种误解,认为只能写E>F这样的,我们写可以写E>F.class Element这样,你要你搞得定优先级
选择器 含义 E[attr] 匹配所有具有属性attr的元素,div[id]就能取到所有有id属性的div E[attr=value] 匹配属性attr值为value的元素,div[id=test],匹配id=test的div E[attr~=value] 匹配所有属性attr具有多个空格分隔、其中一个值等于value的元素 E[attr|=value] 匹配所有att属性具有多个”-”分隔、其中一个值以value开头的元素,主要用于lang属性,比如“en”、“en-us” E[attr ^=value] 匹配属性attr的值以value开头的元素 E[attr $=value] 匹配属性attr的值以value结尾的元素 E[attr *=value] 匹配属性attr的值包含value的元素
选择器 含义 E:first-child 匹配元素E的第一个子元素 E:link 匹配所有未被点击的链接 E:visited 匹配所有已被点击的链接 E:active 匹配鼠标已经其上按下、还没有释放的E元素 E:hover 匹配鼠标悬停其上的E元素 E:focus 匹配获得当前焦点的E元素 E:lang(c) 匹配lang属性等于c的E元素 E:enabled 匹配表单中可用的元素 E:disabled 匹配表单中禁用的元素 E:checked 匹配表单中被选中的radio或checkbox元素 E::selection 匹配用户当前选中的元素 E:root 匹配文档的根元素,对于HTML文档,就是HTML元素 E:nth-child(n) 匹配其父元素的第n个子元素,第一个编号为1 E:nth-last-child(n) 匹配其父元素的倒数第n个子元素,第一个编号为1 E:nth-of-type(n) 与:nth-child()作用类似,但是仅匹配使用同种标签的元素 E:nth-last-of-type(n) 与:nth-last-child() 作用类似,但是仅匹配使用同种标签的元素 E:last-child 匹配父元素的最后一个子元素,等同于:nth-last-child(1) E:first-of-type 匹配父元素下使用同种标签的第一个子元素,等同于:nth-of-type(1) E:last-of-type 匹配父元素下使用同种标签的最后一个子元素,等同于:nth-last-of-type(1) E:only-child 匹配父元素下仅有的一个子元素,等同于:first-child:last-child或 :nth-child(1):nth-last-child(1) E:only-of-type 匹配父元素下使用同种标签的唯一一个子元素,等同于:first-of-type:last-of-type或 :nth-of-type(1):nth-last-of-type(1) E:empty 匹配一个不包含任何子元素的元素,文本节点也被看作子元素 E:not(selector) 匹配不符合当前选择器的任何元素
选择器 含义 E:first-line 匹配E元素内容的第一行 E:first-letter 匹配E元素内容的第一个字母 E:before 在E元素之前插入生成的内容 E:after 在E元素之后插入生成的内容