css 鼠标移入增加背景色显示不全

问题描述

css 鼠标移入li增加背景色,鼠标移入后li背景色怎么占一行显示,现在只显示到父级的宽度

<div class="box">
    <ul>
        <li>fanchaodingfanchaodingding</li>
        <li>fanchaodingfanchaodingfanchaodingfanchaoding</li>
        <li>fanchaoding</li>
        <li>fanchaodingfanchaodingfanchaodingfanchaoding</li>
        <li>fanchaodingfanchaodingfanchaodingfanchaoding</li>
        <li>fanchaodingfanchaodingfanchaoding</li>
    </ul>
</div>
<style>
    *{margin:0;padding:0;}
    li{list-style: none;}
    .box{width: 200px;background-color: #ddd;margin:100px auto;overflow: hidden;}
    ul{min-width:100%;overflow:auto;}
    li:hover{background-color: red;}
</style>

clipboard.png

clipboard.png

阅读 2.6k
3 个回答

这里涉及到两块儿知识:

  1. 之所以看着不会整行标红,显然是文本超出了现有li的宽度,你给li设置overflow-x: scroll;,自然会整行显示,但是不建议这么做。毕竟丑。
  2. 你所输入的连续字母,浏览器会认为这是同一个单词,所以它会尽可能单行展示,导致文本过长却不换行的情况。所以,给li设置word-break: break-all;,同样可以解决问题。

li加个float:left就好了啊

ul{min-width:max-content}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题