首页  >  选择符 Selectors  >  关系选择符  >  兄弟选择符(E~F)

版本 : CSS3 兄弟选择符(E~F)

语法:

E~F { sRules }

说明:

选择E元素后面的所有兄弟元素F,元素E与F必须同属一个父级。
  • 需要注意的是,选择的只是同级的元素F,后代中的元素F不会被选择。

    只作用于同级元素

    <style>h3 ~ p { color: #f00; }</style><h3>这是一个标题</h3><p>p1</p><div><p>p2</p><p>p3</p></div>

    这个例子中,只有 p1 会被选中;p2/p3 由于与 h3 并不是同级,所以不会被选中;

  • 只选择E元素之后的元素F,出现在E元素之前的元素F,不会被选择到。

    只作用于同级元素

    <style>h3 ~ p { color: #f00; }</style><p>p0</p><h3>这是一个标题</h3><p>p1</p><p>p2</p><p>p3</p>

    这个例子中,p1/p2/p3 都会被选中;而 p0 因为在 h3 之前,所以不会被选中;

  • 相邻选择符(E+F) 不同的是,兄弟选择符会命中所有符合条件的兄弟元素,而不强制是紧邻的元素。

    E~F VS. E+F:

    <style>/* 相邻选择符(E+F) */ h3 + p { color: #f00; } /* 兄弟选择符(E~F) */ h3 ~ p { color: #f00; }</style><h3>这是一个标题</h3><p>p1</p><p>p2</p><p>p3</p>

    这个例子中,如果是相邻选择符,那么只有 p1 会变成红色;如果是兄弟选择符,那么 p1/p2/p3 都会变成红色;

兼容性:

  • 浅绿 = 支持
  • 红色 = 不支持
  • 粉色 = 部分支持
IEFirefoxChromeSafariOperaiOS SafariAndroid BrowserAndroid Chrome
6.02.0+4.0+3.1+3.5+3.2+2.1+ #118.0+
7.0+