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>

 

效果:

1

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

设置元素在被用户激活(在鼠标点击与释放之间发生的事件)时的样式。

E:focus

CSS1/2

设置元素在成为输入焦点(该元素的onfocus事件发生)时的样式。

E:lang()

CSS2

匹配使用特殊语言的E元素。

E:not(s)

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(s)代码演示
  • <style>
    #result2 p:not(.abc){color:red;}
    </style>
    
    <div id='result2'>
    <p class="abc">否定伪类选择符 E:not()</p>
    <p id="abc">否定伪类选择符 E:not()</p>
    <p class="abcd">否定伪类选择符 E:not()</p>
    <p>否定伪类选择符 E:not()</p>
    </div>

     效果:

否定伪类选择符 E:not()

否定伪类选择符 E:not()

否定伪类选择符 E:not()

否定伪类选择符 E:not()

posted @ 2013-08-07 22:53  H&K  阅读(626)  评论(0编辑  收藏  举报