QuoteFrom:http://www.w3.org/TR/CSS2/selector.html
我们用下面的例子来解释父元素、子元素、父/子及相邻这几个概念。
从以上代码中,我们可以找出这样的关系:
* h1 和 p 同为 div 的儿子,两者分别同 div 形成父/子关系。
* h1,p,strong 都是 div 的子元素。(三者都包含在 div 之内)
* div 是 h1 和 p 的父元素。
* strong 和 p 形成父/子关系,strong 的父元素是 p 。
* 但 strong 和 div 并非父/子关系,而是祖孙关系,但 strong 依然是 div 的子(孙)元素。
* div 是 h1 p strong 三者的祖先,三者是 div 的子(孙)元素。
* h1 和 p 两者是相邻的。
继承上面的实例来具体演示一下E F的关系:假如,我们需要将 strong 内的内容二字变为绿色,我们可以有哪些方法呢?
div strong {color:green;} /* - 正确。strong 是 div 的子元素*/临近选择器和通用选择器:通用选择器以星号*表示,可以用于替代任何 tag 。
实例:
h2 + * { color:green }/*所有紧随 h2 的元素内的文字都将呈现红色*/ [next]二.选择符分类介绍
1.通配选择符
语法:
* { sRules }说明:
通配选择符。选定文档目录树(DOM)中的所有类型的单一对象。
假如通配选择符不是单一选择符中的唯一组成,*可以省略。
示例:
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/linux/) *[lang=fr] { font-size:14px; width:120px; }2.类型选择符
语法:
E { sRules }说明:
类型选择符。以文档语言对象(Element)类型作为选择符。
示例:
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/linux/) td { font-size:14px; width:120px; }3.属性选择符
语法:
E [ attr ] { sRules }说明:
属性选择符。
选择具有 attr 属性的 E
选择具有 attr 属性且属性值等于 value 的 E
选择具有 attr 属性且属性值为一用空格分隔的字词列表,其中一个等于 value 的 E 。这里的 value 不能包含空格
选择具有 attr 属性且属性值为一用连字符分隔的字词列表,由 value 开始的 E
示例:
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/linux/) h[title] { color: blue; }[next]
4.包含选择符
语法:
E1 E2 { sRules }说明:
包含选择符。选择所有被 E1 包含的 E2 。即 E1.contains(E2)==true 。
示例:
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/linux/) table td { font-size:14px; }5.子对象选择符
语法:
E1 E2 { sRules }说明:
子对象选择符。选择所有作为 E1 子对象的 E2 。
示例:
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/linux/) body p { font-size:14px; }6.ID选择符
语法:
#ID { sRules }说明:
ID选择符。以文档目录树(DOM)中作为对象的唯一标识符的 ID 作为选择符。
示例:
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/linux/) #note { font-size:14px; width:120px;}7.类选择符
语法:
E.className { sRules }说明:
类选择符。在HTML中可以使用此种选择符。其效果等同于E [ class ~= className ] 。请参阅属性选择符( Attribute Selectors )。
在IE5+,可以为对象的 class 属性(特性)指定多于一个值( className ),其方法是指定用空格隔开的一组样式表的类名。例如:<div class="class1 class2"。
示例:
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/linux/) div.note { font-size:14px; }8.选择符分组
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/linux/)语法:
E1 , E2 , E3 { sRules }说明:
选择符分组。将同样的定义应用于多个选择符,可以将选择符以逗号分隔的方式并为组。
示例:
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/linux/) .td1,div a,body { font-size:14px; }9.伪类及伪对象选择符
语法:
E : Pseudo-Classes { sRules }说明:
伪类及伪对象选择符。
伪类选择符。请参阅伪类( Pseudo-Classes )[:link :hover :active :visited :focus :first-child :first :left :right :lang]。
伪对象选择符。请参阅伪对象( Pseudo-Elements )[:first-letter :first-line :before :after]。
示例:
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/linux/) div:first-letter { font-size:14px; }