【发布时间】:2013-01-30 03:31:01
【问题描述】:
将 div 收缩到一些文本非常简单。但是,如果文本由于最大宽度(例如)而换行到第二行(或更多),则 DIV 的大小不会缩小到新换行的文本。它仍然扩展到断点(在本例中为 max-width 值),从而在 DIV 的右侧产生了相当多的边距。当想要将此 DIV 居中以使换行的文本居中时,这是有问题的。不会,因为 DIV 不会缩小为换行的多行文本。一种解决方案是使用两端对齐的文本,但这并不总是可行的,而且如果单词之间的间隔很大,结果可能会很糟糕。
我知道没有解决方案可以将 DIV 缩小为纯 CSS 中的换行文本。所以我的问题是,如何使用 Javascript 实现这一目标?
这个 jsfiddle 说明了它:jsfiddle。由于最大宽度,这两个单词几乎没有换行,但 DIV 并没有缩小到新换行的文本,留下了令人讨厌的右侧边距。我想消除这一点,并大概使用 Javascript 将 DIV 调整为包装文本(因为我不相信纯 CSS 中存在解决方案)。
.shrunken {text-align: left; display: inline-block; font-size: 24px; background-color: #ddd; max-width: 130px;}
<div class="shrunken">Shrink Shrink</div>
【问题讨论】:
-
一些图像演示或代码示例(jsfiddle?)将有助于理解和构建您的意思。
-
这没有解决什么问题? jsfiddle.net/uS6cf/1
-
为什么文本必须换行时 div 不缩小(您的最大宽度示例)?只是为了获得有关此问题的更多信息,您如何缩小 div?
-
@isherwood 这实际上完美地说明了这个问题。这两个词强制中断,但 DIV 仍处于其最大宽度 130 像素,而最大的词小于 130 像素,从而在左侧和右侧创建边距。我希望 DIV 缩小到最大的换行文本。对示例中的文本使用“Shrink Shrink”会使其更加明显。
标签: javascript html css