Webページにボタンがあります。CSS疑似クラスを使用して、カーソルがボタンの上にあるときにドキュメントの別の部分に変更を加えたいと思います。これは私が試したことです:
<div id="content">
<p id="foo">blah blah blah</p>
<p id="blah">blah blah blah</p>
</div>
<div id="navigation-panel">
Hover over a button!
<div class="buttons">
<div id="button1">button1</div>
<div id="button2">button2</div>
<div id="bar">bar</div>
</div>
</div>
そして、対応するスタイルシート:
#bar:hover #foo {
color: green;
}
しかしもちろん、これは機能しません。CSSでは、フォーマットのセレクターを使用して要素の子孫A B
を選択することしかできないためです。新しいCSS3仕様では、いくつかの新しい疑似クラスを使用する兄弟要素を選択することができます。B
A
A
B
しかし、遠い従兄弟に似ている1つ(または複数)の要素を選択する方法はありますA
か?
私はいくつかの解決策を考えていました。1つ:Javascriptを使用します。ブラウザでJSが無効になっているページを閲覧している人がいる場合に備えて、JSを使用せずにページを完全に機能させることを望んでいるため、これはあまり魅力的ではありません。また、私は物事をシンプルに保つことを望んでいます。2番目の解決策:foo
divをdiv内に配置しbar
、を使用position: absolute
して最終的に目的の場所に移動foo
します。明らかな理由から、これは厄介な解決策です。