css选择器
1.元素选择符
选择符 |
说明 |
用法 |
Css版本 |
* |
通配选择符匹配任意html标签 |
*{} |
Css2 |
.classname |
以class属性包含classname的E对象作为选择符 |
.classname{} |
Css1 |
#idname |
以唯一标识符id属性等于idname的E对象作为选择符 |
#idname{} |
Css1 |
E |
以文档语言对象类型(有效的html标签)作为选择符 |
h1{},div{},p{}等 |
Css1 |
元素选择符的几点说明
1.一般通配符*用于规定浏览器默认的内外边距(margin,padding),这样能对元素更精准定位
一般用法:
*{
margin:0;
padding:0
}
2.元素选择符优先级
一般 #idname>.classname>E>*
2.关系选择符
Selectors |
Name |
CSS Version |
Description |
E F |
包含选择符 |
CSS1 |
选择所有被E元素包含的F元素。 |
E>F |
子选择符 |
CSS2 |
选择所有作为E元素的子元素F。 |
E+F |
相邻选择符 |
CSS2 |
选择紧贴在E元素之后F元素。 |
E~F |
兄弟选择符 |
CSS3 |
选择E元素所有兄弟元素F。 |
关系选择符需要注意的点
1.E>F是选择所有作为E子元素的F元素,注意是子元素而不是后代元素(隔代不起作用)
比如
1是红色的,2是不会有红色效果的
<style> div[id='mystyle1']>strong{ color:red; } </style> <div id='mystyle1'> <strong>1</strong> <p><strong>2</strong></p> </div>
效果:
2
3.属性选择符
|
css |
|
E[att] |
CSS2 |
选择具有att属性的E元素。 |
E[att="val"] |
CSS2 |
选择具有att属性且属性值等于val的E元素。 |
E[att~="val"] |
CSS2 |
选择具有att属性且属性值为一用空格分隔的字词列表,其中一个等于val的E元素。 |
E[att^="val"] |
CSS3 |
选择具有att属性且属性值为以val开头的字符串的E元素。 |
E[att$="val"] |
CSS3 |
选择具有att属性且属性值为以val结尾的字符串的E元素。 |
E[att*="val"] |
CSS3 |
选择具有att属性且属性值为包含val的字符串的E元素。 |
E[att|="val"] |
CSS2 |
选择具有att属性且属性值为以val开头并用连接符"-"分隔的字符串的E元素。 |
注意E[att~="val"]与E[att|="val"]区别
E[att~="val"]为具有属性att且属性为一个用空格分隔的字词列表
比如
Div[class~=’a’]就可以对应
<div class=’b c1 a ’></div>
E[att|="val"]
Div[class|=’a’] 对应
<div class=’a-b-c’></div>
注意必须以a开头
4.伪类选择符
|
CSS |
Description |
E:link |
CSS1 |
设置超链接a在未被访问前的样式。 |
E:visited |
CSS1 |
设置超链接a在其链接地址已被访问过时的样式。 |
E:hover |
CSS1/2 |
设置元素在其鼠标悬停时的样式。 |
E:active |
CSS1/2 |
设置元素在被用户激活(在鼠标点击与释放之间发生的事件)时的样式。 |
CSS1/2 |
设置元素在成为输入焦点(该元素的onfocus事件发生)时的样式。 |
|
E:lang() |
CSS2 |
匹配使用特殊语言的E元素。 |
CSS3 |
匹配不含有s选择符的元素E。 |
|
E:root |
CSS3 |
匹配E元素在文档的根元素。 |
E:first-child |
CSS2 |
匹配父元素的第一个子元素E。 |
E:last-child |
CSS3 |
匹配父元素的最后一个子元素E。 |
E:only-child |
CSS3 |
匹配父元素仅有的一个子元素E。 |
E:nth-child(n) |
CSS3 |
匹配父元素的第n个子元素E。 |
E:nth-last-child(n) |
CSS3 |
匹配父元素的倒数第n个子元素E。 |
E:first-of-type |
CSS3 |
匹配同类型中的第一个同级兄弟元素E。 |
E:last-of-type |
CSS3 |
匹配同类型中的最后一个同级兄弟元素E。 |
E:only-of-type |
CSS3 |
匹配同类型中的唯一的一个同级兄弟元素E。 |
E:nth-of-type(n) |
CSS3 |
匹配同类型中的第n个同级兄弟元素E。 |
E:nth-last-of-type(n) |
CSS3 |
匹配同类型中的倒数第n个同级兄弟元素E。 |
E:empty |
CSS3 |
匹配没有任何子元素(包括text节点)的元素E。 |
E:checked |
CSS3 |
匹配用户界面上处于选中状态的元素E。(用于input type为radio与checkbox时) |
E:enabled |
CSS3 |
匹配用户界面上处于可用状态的元素E。 |
E:disabled |
CSS3 |
匹配用户界面上处于禁用状态的元素E。 |
E:target |
CSS3 |
匹配相关URL指向的E元素。 |
@page:first |
CSS2 |
设置页面容器第一页使用的样式。仅用于@page规则 |
@page:left |
CSS2 |
设置页面容器位于装订线左边的所有页面使用的样式。仅用于@page规则 |
@page:right |
CSS2 |
设置页面容器位于装订线右边的所有页面使用的样式。仅用于@page规则 |
E:focus实例:
代码:
<style><!-- h1{font-size:16px;} input{ border-radius:7px; } ul{list-style:none;margin:0;padding:0;} input:focus{background:#f6f6f6;color:#f60;border:1px solid #f60;outline:none;} input[value='search']:focus{ background:gray;color:white;border:1px solid black; width:400px; } --></style> <h1>请聚焦到以下输入框</h1> <form action="#"> <ul> <li><input type="text" value="姓名" /></li> <li><input type="text" value="单位" /></li> <li><input type="text" value="search" /></li> </ul> </form>
效果:
请聚焦到以下输入框
否定伪类选择符 E:not()
否定伪类选择符 E:not()
否定伪类选择符 E:not()
否定伪类选择符 E:not()