別のdivにカーソルを合わせたときにdivの高さを変更して、ハーモニカ効果を作ろうとしています。
私のHTMLは次のようになります。
<html><body>
<div class="section1"></div>
<div class="section2"></div>
<div class="section3"></div>
<div class="section4"></div>
</body></html>
各セクションの高さは 25% です。section1 にカーソルを合わせると、他のすべての div のサイズが縮小し、section1 が展開されます。これは、次の CSS を使用して簡単に実行できます。
.section1 {
height: 40%;
}
.section1:hover ~ div:not(section1) {
height: 20%;
}
問題は、~ セレクターが現在の div の下にある兄弟 div のみを選択することです。したがって、セクション 2 に同じコードを使用すると、セクション 3 とセクション 4 のみが影響を受けます。Section1 は、現在の div の上にあるため、元の高さが 25% になります。
CSSだけでこの問題を解決できますか?