[2] [DFN[[RUBYB[[[隣接兄弟結合子]]]@en[adjacent sibling combinator]]]] ([DFN[[CODE(CSS)[[[+]]]]]]) は、 前の[[単純選択子列]]によって表される[[要素]]の直後にある[[弟]]である、 後の[[単純選択子列]]によって表される[[要素]]を表す[[兄弟結合子]]です。 * 仕様書 [REFS[ - [1] [CITE@en[Selectors Level 3]] ([TIME[2011-09-29 22:16:17 +09:00]] 版) ]REFS] * 意味 [3] [[隣接兄弟結合子]]は、前後2つの[[単純選択子列]]で表される[[要素]]が同じ[[親]]を持ち、 最初の[[要素]]の直後に2つ目の[[要素]]があることを表しています。 [SRC[>>1]] [4] ただし「直後」の判断に用いられるのは[[要素節点]]のみです。 [[テキスト節点]]などは無視されます。 [SRC[>>1]] [5] [[文書木]]は[[実体参照]]を[[展開]]した状態で表現されるので、「同じ[[親]]」の判定は[[実体参照節点]]を無視して行われます。 * 構文 [6] [[隣接兄弟結合子]]の前後には[[空白]]を挿入できます。 * 歴史 ** [CODE(CSS)[/ ... /]] [REFS[ - [22] [CITE[Cascading Style Sheets: a draft specification]] ([TIME[1995-08-11 17:13:22 +09:00]] 版) - [24] [CITE[Cascading Style Sheets: a draft specification]] ([TIME[1995-10-07 10:35:41 +09:00]] 版) - [26] [CITE[Cascading Style Sheets: a draft specification]] ([TIME[1995-11-02 03:04:18 +09:00]] 版) - [11] [CITE[STSS 2]] ([[Daniel Glazman]] 著, [TIME[2000-09-09 01:13:50 +09:00]] 版) - [19] [CITE@en[Selectors]] ([TIME[1997-11-08 03:00:17 +09:00]] 版) ]REFS] [23] [[CSS]] の初期案 (>>22) では [CODE(CSS)[/H1/ P]] や [CODE(CSS)[// P]] のような構文が提案されていました。 [25] >>24 では[[水準2]]に格下げ(?)されました。 [12] それから少し時代が下って [[STTS2]] (>>11) や [[CSS2]] (>>19) の初期案では [CODE(CSS)[DIV /IMG ~ UL/]] のような構文が提案されていました。 ** [CODE(CSS)[+]] [REFS[ - [20] [CITE@en[Selectors]] ([TIME[2001-01-16 00:22:58 +09:00]] 版) - [8] [CITE@en[Selectors]] ([TIME[2011-06-07 22:09:52 +09:00]] 版) ]REFS] [9] [[CSS2]] では[[単純選択子列]] ([[CSS2]] でいう[[単純選択子]]) の後に[[隣接兄弟結合子]]が続き、 更に[[単純選択子列]]が続く列のことを[DFN[[RUBYB[[[隣接兄弟選択子]]]@en[adjacent sibling selector]]]]と呼んでいました。 ;; [21] 初出の >>20 では単に[DFN[[RUBYB[[[隣接選択子]]]@en[adjacent selector]]]]でした。 ;; [10] この用語は[[選択子3]]では使われていません。 ** 選択子3 [REFS[ - [13] [CITE[CSS3 module: W3C selectors]] ([TIME[2000-03-13 23:37:32 +09:00]] 版) ]REFS] [14] [[選択子3]]では [CODE(CSS)[[[~]]]] が追加されたため、 [CODE(CSS)[[[+]]]] は[DFN[[RUBYB[[[直接隣接結合子]]]@en[direct adjacent sibling combinator]]]]と呼ばれるようになりました。 [[隣接兄弟結合子]]はこれらの総称でした。 [REFS[ - [17] [CITE@en[Selectors]] ([TIME[2005-12-15 00:49:29 +09:00]] 版) ]REFS] [18] >>17 で名称が変更されて、[[隣接兄弟結合子]]が [CODE(CSS)[[[+]]]] の名称となりました。 ** XBL2 [REFS[ - [15] [CITE@en-US[XBL 2.0]] ([TIME[2010-09-03 10:10:02 +09:00]] 版) ]REFS] [16] [[XBL2]] は[[影木]]との関係を規定していました。 * 例 [EG[ [7] [[選択子]] [CODE(CSS)[h1 + em]] は [CODE(HTMLe)@en[h1]] [[要素]]の直後の[[弟要素]]である [CODE(HTMLe)@en[em]] [[要素]]を表します。間に[[テキスト]]や[[注釈]]が挟まっていても構いません。 ]EG]