HTMLのリストに問題があります。
基本的な機能が必要です。ユーザーがリストの要素にカーソルを合わせると、その境界線の上部の色と兄弟が赤に変わります。
したがって、次のような HTML がある場合:
<dl>
<dt>Example 1</dt>
<dd>Description 1</dd>
<dt>Example 2</dt>
<dd>Description 2</dd>
<dt>Example 3</dt>
<dd>Description 3</dd>
</dl>
およびCSS:
dd {
display: none;
}
dt {
border-top: 1px solid black;
}
dt:last-of-type {
border-bottom: 1px solid black;
}
dt:hover {
border-top: 1px solid red;
}
dt:hover:last-of-type {
border-bottom: 1px solid red;
}
dt:hover + dd + dt {
border-top: 1px solid red;
}
期待した結果が得られません。最初の要素にカーソルを合わせると、上枠のみが赤に変わります。3 番目の要素にカーソルを合わせると、2 番目の要素と最初の要素にカーソルを合わせると、境界線は 2 番目の要素と最初の要素の赤に変わりますが、最後の状態では最初にのみ変更する必要があります。なぜそれが起こるのですか?