前提・実現したいこと
li要素にマウスが乗った時に背景色を変更させたいのですが
リストタグが入れ子だった場合、li要素の下のulの要素もすべて背景色が変わってしまいます。
liタグのテキストエリアのみ(リストのマークも一緒に)背景色を変更する方法はありますか?
たとえば以下のようなリストタグがある場合、
全ての項目、ホバー時背景色をその行だけ(・や1.のようなリストのマークも一緒に)変えたいのです
・アプリ(ul)
・WEBデザイン(ul)
□□□1.HTML(li)
□□□□□□・HTML1-1(ul)
□□□□□□□□□1.HTML1-1-1(li)
□□□□□□□□□2.HTML1-1-2(li)
□□□□□□・HTML1-2(ul)
□□□□□□□□□1.HTML1-2-1(li)
□□□□□□□□□2.HTML1-2-2(li)
□□□2.CSS(li)
□□□3.Javascript(li)
・イラスト(ul)
該当のソースコード
以下の場合
cssで.testul>li:hover時の背景色を変更すると、
例えば項目1にマウスをあてると
項目1,項目1-1,項目1-2,項目1-3,項目1-4
まで背景色が変わってしまいます。
これを項目1にマウスがあたればそれだけ
項目1-1にマウスがあたればそれだけの背景色を変えるにはどのようなCSSを書けばいいでしょうか?
html
1<section class="menu"> 2<span class="testspan ">項目</span> 3<ul class="testul"> 4 <li class="testli ">項目1 5 <ul class="testul"> 6 <li class="testli pointer " > 7 項目1-1 8 </li> 9 <li class="testli pointer " > 10 項目1-2 11 </li> 12 <li class="testli pointer " > 13 項目1-3 14 </li> 15 <li class="testli pointer " > 16 項目1-4 17 </li> 18 </ul> 19 </li> 20</ul> 21<ul class="testul"> 22 <li class="testli ">項目2 23 <ul class="testul"> 24 <li class="testli pointer " > 25 項目2-1 26 </li> 27 <li class="testli pointer " > 28 項目2-2 29 </li> 30 <li class="testli pointer " > 31 項目2-3 32 </li> 33 <li class="testli pointer " > 34 項目2-4 35 </li> 36 </ul> 37 </li> 38</ul> 39 40<span class="testspan ">項目</span> 41<ul class="testul"> 42 <li class="testli ">項目3 43 <ul class="testul"> 44 <li class="testli pointer " > 45 項目3-1 46 </li> 47 <li class="testli pointer " > 48 項目3-2 49 </li> 50 <li class="testli pointer " > 51 項目3-3 52 </li> 53 <li class="testli pointer " > 54 項目3-4 55 </li> 56 </ul> 57 </li> 58</ul> 59
試したこと
ul ul li:hover {background:#色}
で項目1-1,項目1-2,項目1-3,項目1-4
はそれぞれマウスオーバーで背景色が変わりました。
項目1,項目2,項目3
のみのマウスオーバーがうまくいきません。
例えばliタグ内テキストをspanでくくって
li>span:hover {
background:#色;
}
とすることもできますが
これだとリストマークは置いてきぼりで、単純にテキストの背景色のみ変わってしまいます。
これ以外の方法を知りたいです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/16 06:04
2019/01/16 06:31
2019/01/16 06:31
2019/01/16 06:34
2019/01/17 03:12