html – 全宽:悬停列表的悬浮背景?

下面的html剪辑呈现一个嵌套的元素列表.悬停(鼠标悬停)元素背景颜色变化.但左侧的空间是无色的(由于缩进).

我如何才能使这个空间被染色?

我试图添加绝对定位元素到li元素左:0.但是那些部分隐藏了li元素的内容:/

ul { 
  list-style: none; 
  padding: 0; 
  margin:0 
}
li { 
  margin:0;
  padding: 0; 
  padding-left: 20px; 
}
li > div:hover { 
  background-color: #eee
}
<div style="position:relative">
  <ul>
    <li><div>Root</div>
      <ul>
        <li><div>A</div>
          <ul>
            <li><div>AA</div></li>
            <li><div>AB</div></li>
          </ul>
        </li>
        <li><div>B</div>
          <ul>
            <li><div>BA</div></li>
            <li><div>BB</div></li>
          </ul>
        </li>
      </ul>
    </li>
  </ul>
</div>

解决方法

将填充添加到div,而不是< li&gt ;::
ul { list-style: none; padding: 0; margin:0 }
li { margin:0; padding: 0;}
li > div:hover { background-color: #eee}
li div{padding-left:20px}
li li div{padding-left:40px}
li li li div{padding-left:60px}

演示:http://jsfiddle.net/Madmartigan/MKK8v/

通过将其设置在列表项上,您最终也会填充所有子列表项.如果你可以改变你的标记,我认为有更好的方法.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些