【发布时间】:2026-01-29 15:10:01
【问题描述】:
我了解display: inline-block 会导致父元素“缩小”到最大子元素的宽度。如果最大元素是 <img /> 之类的元素,这正是我想要的。
但是,如果一行文本恰好很长,它会扩大父级的宽度。
<div class="hi">
<img src="http://placehold.it/350x150" />
<div class="longtext">
Eu duis eram anim senserit. Quae deserunt voluptatibus ex noster nam eu sunt laboris ea consequat ut amet litteris, ingeniis hic sint, et elit voluptatibus te legam do possumus, fugiat sempiternum tempor irure laboris, possumus tamen sunt expetendis quid.
</div>
<div class="short">wow</div>
</div>
Fiddle 这样你就可以看到问题了。
如何强制一行很长的文本获取父元素的宽度,而父元素又获取子元素的宽度?
我能得到的最接近我想要的内容是position: absolute,但它会将文本从块级中取出(将所有内容向上推)。
【问题讨论】:
-
查看this answer,如果我正确理解您的问题,第一个答案应该可以解决您的问题。
-
这正是我想要的。然而,我希望我不必求助于使用 CSS 表格。我想这是唯一的解决方案,除了
max-content。 -
从技术上讲,它不是一个表格,只是表格中常用的一组规则(实际上是默认情况下),恰好在这种情况下起到了作用。