将DIV缩小为其最大宽度所包裹的文本?

17 浏览
0 Comments

将DIV缩小为其最大宽度所包裹的文本?

将div调整为与文本相匹配是相当直接的。但是,如果文本由于最大宽度(例如)而换行到第二行(或更多行),那么div的尺寸不会缩小到新换行的文本。它仍然扩展到断点(在此情况下为最大宽度值),导致div右侧有相当多的空白。当希望将该div居中以使换行文本居中时,这是一个问题。它不会居中,因为div不会缩小到换行的多行文本。一个解决方案是使用两端对齐的文本,但这并不总是实际可行的,而且结果可能非常糟糕,单词之间存在巨大的间隙。

我知道在纯CSS中没有解决办法可以将div调整为换行文本。所以我的问题是,如何用JavaScript实现这个目标?

这个jsfiddle演示了这个问题:jsfiddle。由于最大宽度的原因,这两个词几乎刚好换行,然而div仍然不会缩小到新换行的文本,留下一个令人讨厌的右边距。我想消除这个问题,让div调整大小以适应换行的文本,可能需要使用JavaScript(因为我不认为在纯CSS中存在解决方案)。

.shrunken {text-align: left; display: inline-block; font-size: 24px; background-color: #ddd; max-width: 130px;}
Shrink Shrink

0