换行的CSS宽度/最大宽度?

新手上路,请多包涵
#tooltip
{
    position: absolute;
    width:auto;
    min-width:50px;
    max-width:250px;
    padding:10px;
    background-color:#eee;
    border:1px solid #aaa;
}

基于这种风格,我希望我的工具提示可以缩小或扩大以适应内容,缩小到 50 像素或高达 250 像素。但是,当内容换行到下一行时, max-width 属性似乎覆盖了我的 width 属性。当句尾的单词很长时,这是一个美学问题,看起来它会留下一堆填充物(见截图)。这是正常的行为吗?

在此处输入图像描述

原文由 Sam 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
1 个回答

是的,这是正常行为。

浏览器会尝试将您的文本内嵌在框中,直到达到其最大允许宽度 250 像素,然后将任何无法放在第一行的文本换行到下一行和后续行。 (如果没有足够的文本达到最大宽度,那么 width: auto 会导致框缩小以适合该数量的文本。)

但是,包装后框不会再次缩小以适合文本,因为文本换行不能以这种方式工作。这意味着盒子的 width 被计算为 250px, 只是 因为你的 CSS 声明它最多只能是 250px。它不会计算为等于 文本 宽度的较小值,然后被 max-width 覆盖。

我认为您无法采取任何措施来改变这种行为。

原文由 BoltClock 发布,翻译遵循 CC BY-SA 3.0 许可协议

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