当我为宽度大于文本宽度的元素指定text-align:center时,文本在元素的内容框中居中(如预期的那样)。
当我为宽度小于文本宽度的元素指定text-align:center时,文本将对齐到内容框的左边缘,并且溢出内容框的右边缘。
你可以看到两个案例在行动here。
任何CSS魔法可以使文本同样溢出内容框的左边缘和右边缘,使其保持居中?
解决方法
我知道这个问题是老了,但我只是有同样的问题,发现一个更容易的解决方案,只是一个跨度。
http://jsfiddle.net/7hy3w2jj/
http://jsfiddle.net/7hy3w2jj/
<div>some text</div> <div> <span class="text-overflow-center">some text that will overflow</span> </div>
然后你只需要这个定义
.text-overflow-center { margin-left: -100%; margin-right: -100%; text-align: center; }
如果你可以使用伪元素,它可以做到没有html。
只需将这些定义添加到您的文本容器。 http://jsfiddle.net/7287L9a8/
div:before { content: ""; margin-left: -100%; } div:after { content: ""; margin-right: -100%; }
伪变量的唯一缺点是它只适用于一行文本。