【发布时间】:2012-01-31 22:24:58
【问题描述】:
我需要在 div 中将左对齐文本块居中,但我需要将文本块的视觉宽度而不是块本身居中。
在许多情况下,这可能是同一件事,但考虑一下 div 相当窄(想想移动设备宽度)并且文本太长而无法放在一行中的情况,因此需要溢出。
在下面的示例中,我将文本块显示为浅蓝色以进行说明,但实际上它们将与父 div 的颜色相同(白色)。在使用的任何文本中也没有换行符。
在1a中,文本只有一行,小于文本块的最大宽度,所以我可以将文本块设置为文本的宽度,没有'没问题。
然而,在2a 中,文本比最大宽度长,因此换行到下一行。这样做的效果是可见文本块不再居中显示。
如何仅使用 HTML 和 CSS 将这两种情况显示为 1b 和 2b?
编辑1:似乎每个人都在告诉我如何实现1a和2a中的情况,但我已经有了。我想实现1b和2b的情况。
编辑 2:我使用的代码与 David 在他的链接 (http://jsfiddle.net/davidThomas/28aef/) 中给出的代码基本相同。文本区域使用颜色只是为了说明这一点。如果将其更改为白色 (http://jsfiddle.net/28aef/2/),您可以看到文本块不再居中(即左右边距不相等)
【问题讨论】:
-
所以...居中容器内的左对齐文本?这对于 just html 和 css 可能很困难,因为您似乎也希望文本垂直居中。
-
@DavidThomas:如果您知道在 JS 中执行此操作的简单方法,我会认为它是一种备份选项,但如果可能的话,我想避免它。
-
您使用的是什么 html?
-
@johnwait 但你能让它与具有
width: auto的容器一起工作吗? -
这是一个演示问题的小提琴,我们仍然没有解决方案:jsfiddle.net/brettdonald/fm0zxpuv/1
标签: html css alignment text-alignment