[转]CSS Selector (属性,兄弟,子...)
|
1. 属性选择器
下表是对这些选择器的简单总结:
2. 相邻兄弟选择器 如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。 例如,如果要增加紧接在 h1 元素后出现的段落的上边距,可以这样写: h1 + p {margin-top:50px;}这个选择器读作:“选择紧接在 h1 元素后出现的段落,h1 和 p 元素拥有共同的父元素”。 语法解释相邻兄弟选择器使用了加号(+),即相邻兄弟结合符(Adjacent sibling combinator)。 注释:与子结合符一样,相邻兄弟结合符旁边可以有空白符。 请看下面这个文档树片段: <div><ul> <li>List item 1</li> <li>List item 2</li> <li>List item 3</li> </ul> <ol> <li>List item 1</li> <li>List item 2</li> <li>List item 3</li> </ol> </div> 在上面的片段中,div 元素中包含两个列表:一个无序列表,一个有序列表,每个列表都包含三个列表项。这两个列表是相邻兄弟,列表项本身也是相邻兄弟。不过,第一个列表中的列表项与第二个列表中的列表项不是相邻兄弟,因为这两组列表项不属于同一父元素(最多只能算堂兄弟)。 请记住,用一个结合符只能选择两个相邻兄弟中的第二个元素。请看下面的选择器: li + li {font-weight:bold;}上面这个选择器只会把列表中的第二个和第三个列表项变为粗体。第一个列表项不受影响。 结合其他选择器相邻兄弟结合符还可以结合其他结合符: html > body table + ul {margin-top:20px;}3. 子选择器 选择子元素如果您不希望选择任意的后代元素,而是希望缩小范围,只选择某个元素的子元素(直接子元素),请使用子元素选择器(Child selector)。 例如,如果您希望选择只作为 h1 元素子元素的 strong 元素,可以这样写: h1 > strong {color:red;}这个规则会把第一个 h1 下面的 strong 元素变为红色,但是第二个 strong 不受影响: <h1>This is <strong>very</strong> important.</h1><h1>This is <em>really <strong>very</strong></em> important.</h1> 语法解释您应该已经注意到了,子选择器使用了大于号(子结合符)。 子结合符两边可以有空白符,这是可选的。因此,以下写法都没有问题: h1 > strongh1> strongh1 >strongh1>strong如果从右向左读,选择器 h1 > strong 可以解释为“选择作为 h1 元素子元素的所有 strong 元素”。 结合后代选择器和子选择器请看下面这个选择器: table.company td > p
|

浙公网安备 33010602011771号