日期:2013-07-05 浏览次数:21424 次
一.选择符模式
模式/含义/内容描述
*
婚配任意元素。(通用选择器)
E
婚配任意元素 E (例如一个类型为 E 的元素)。(类型选择器)
E F
婚配元素 E 的任意后代元素 F 。(后代选择器)
E > F
婚配元素 E 的任意子元素 F 。(子选择器)
E:first-child
当元素 E 是它的父元素中的第一个子元素时,婚配元素 E 。(:first-child 伪类)
E:link E:visited
如果 E 是一个目标还没有访问过(:link)或者曾经访问过(:visited)的超链接的源锚点时婚配元素 E 。(link 伪类)
E:active E:hover E:focus
在确定的用户动作中婚配 E 。(动态伪类)
E:lang(c)
如果类型为 E 的元素使用了(人类)言语 c (文档言语确定言语是如何被确定的),则婚配该元素。(:lang() 伪类)
E + F
如果一个元素 E 直接在元素 F 之前,则婚配元素 F 。(临近选择器)
E[foo]
婚配具有”foo”属性集(不考虑它的值)的任意元素 E 。(属性选择器)
E[foo="warning"]
婚配其“foo”属性值严厉等于“warning”的任意元素 E 。(属性选择器)
E[foo~="warning"]
婚配其“foo”属性值为空格分隔的值列表,并且其中一个严厉等于“warning”的任意元素 E 。(属性选择器)
E[lang|="en"]
婚配其“lang”属性具有以“en”开头(从左边)的值的列表的任意元素 E 。(属性选择器)
DIV.warning
仅 HTML。用法同 DIV[class~="warning"]。(类选择器)
E#myid
婚配 ID 等于“myid”的任意元素 E 。(ID 选择器)
援用:
--------------------------------------------------------------------------------
From:http://www.w3.org/TR/CSS2/selector.html
--------------------------------------------------------------------------------
我们用下面的例子来解释“[s]父元素[/s]”、“[s]子元素[/s]”、“[s]父/子[/s]”及“[s]相邻[/s]”这几个概念。
<div title="这是一个div">
<h1>这是是h1的内容</h1>
<p>这是一个段落p的内容!<strong>这里是strong的内容</strong>这是一个段落p的内容!</p>
</div>
从以上代码中,我们可以找出这样的关系:
承继上面的实例来具体演示一下E F的关系:假如,我们需求将 strong 内的内容二字变为绿色,我们可以有哪些方法呢?
div strong {color:green;} /* - 正确。strong 是 div 的“子元素”*/
p > strong {color:green;} /* - 正确。strong 和 p 是“父/子”关系*/
div > strong {color:green;} /* - 错误!strong 虽然是 div 的“子(孙)元素”,但两者乃是“祖孙”关系,而非“父/子”关系,因此不能用 > 符号连接*/
临近选择器和通用选择器:通用选择器以星号“*”表示,可以用于替代任何 tag 。
实例:
h2 + * { color:green }/*所有紧随 h2 的元素内的文字都将呈现红色*/
二.选择符分类引见
1.通配选择符
语法:
* { sRules }
说明:
通配选择符。选定文档目录树(DOM)中的所有类型的单一对象。
假如通配选择符不是单一选择符中的独一组成,“*”可以省略。
示例:
*[lang=fr] { font-size:14px; width:120px; }
*.div { text-decoration:none; }
2.类型选择符
语法:
E { sRules }
说明:
类型选择符。以文档言语对象(Element)类型作为选择符。
示例:
td { font-size:14px; width:120px; }
a { text-decoration:none; }
3.属性选择符
语法:
E [ attr ] { sRules }
E [ attr = value ] { sRules }
E [ attr ~= value ] { sRules }
E [ attr |= value ] { sRules }
说明:
属性选择符。
选择具有 attr 属性的 E
选择具有 attr 属性且属性值等于 value 的 E
选择具有 attr 属性且属性值为一用空格分隔的字词列表,其中一个等于 value 的 E 。这里的 value 不能包含空格
选择具有 attr 属性且属性值为一用连字符分隔的字词列表,由 value 开始的 E
示例:
h[title] { color: blue; }
/* 所有具有title属性的h对象 */
span[class=demo] { color: red; }
div[speed="fast"][dorun="no"] { color: red; }
a[rel~="copyright"] { color:black; }
4.包含选择符
语法:
E1 E2 { sRules }
说明:
包含选择符。选择所有被 E1 包含的 E2 。即 E1.contains(E2)==true 。
示例:
table td { font-size:14px; }
div.sub a { font-size:14px; }
5.子对象选择符
语法:
E1 > E2 { sRules }
说明:
子对象选择符。选择所有作为 E1 子对象的 E2 。
示例:
body > p { font-size:14px; }
/* 所有作为body的子对象的p对象字体尺寸为14px */