国外设计欣赏网站 - DOOOOR.com

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,微信登陆

搜索

[DIV+CSS] CSS 相邻兄弟选择器

[复制链接]
发表于 11-28-2011 05:37 | 显示全部楼层 |阅读模式

相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。

选择相邻兄弟

如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。

例如,如果要增加紧接在 h1 元素后出现的段落的上边距,可以这样写:

h1 + p {margin-top:50px;}

这个选择器读作:“选择紧接在 h1 元素后出现的段落,h1 和 p 元素拥有共同的父元素”。

亲自试一试

语法解释

相邻兄弟选择器使用了加号(+),即相邻兄弟结合符(Adjacent sibling combinator)。

注释:与子结合符一样,相邻兄弟结合符旁边可以有空白符。

请看下面这个文档树片段:

<div>: ~4 v' Q! n2 v/ E2 q( l: r
  <ul>" r5 ]  \$ A: j# D+ E
    <li>List item 1</li>* j( K) \, i; {; R  P$ v( c
    <li>List item 2</li>" M+ a6 [. I+ A# T8 }: @2 [
    <li>List item 3</li>1 k* O% q  T. o1 ~3 n: s9 v
  </ul>
1 I, k' f' Z* W+ s& l0 L7 ?7 I  <ol>; K- H* q; c1 q5 }* R$ H
    <li>List item 1</li>
6 G$ h7 ^( H4 ]& c) u, N" \    <li>List item 2</li>
  X5 Y4 z' [9 _0 i, F% k    <li>List item 3</li>
4 `. C! _8 h7 w& D( ^5 h  </ol>
- d. f% Q3 m2 _& j1 c% x  \& n</div>
) g, _6 x* ^4 s: S3 |! v

在上面的片段中,div 元素中包含两个列表:一个无序列表,一个有序列表,每个列表都包含三个列表项。这两个列表是相邻兄弟,列表项本身也是相邻兄弟。不过,第一个列表中的列表项与第二个列表中的列表项不是相邻兄弟,因为这两组列表项不属于同一父元素(最多只能算堂兄弟)。

请记住,用一个结合符只能选择两个相邻兄弟中的第二个元素。请看下面的选择器:

li + li {font-weight:bold;}

上面这个选择器只会把列表中的第二个和第三个列表项变为粗体。第一个列表项不受影响。

亲自试一试

结合其他选择器

相邻兄弟结合符还可以结合其他结合符:

html > body table + ul {margin-top:20px;}

这个选择器解释为:选择紧接在 table 元素后出现的所有兄弟 ul 元素,该 table 元素包含在一个 body 元素中,body 元素本身是 html 元素的子元素。

|2011-2026-版权声明|平台(网站)公约|手机版|手机版|DOOOOR 设计网 ( 吉ICP备2022003869号 )

GMT+8, 12-19-2025 02:38 , Processed in 0.220261 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表