可以溢出文本居中?
当我指定text-align:center宽度大于文本宽度的元素时,文本在元素的内容框中居中(如预期的那样)。 
 当我指定text-align:center为宽度小于文本宽度的元素时,文本将与内容框的左边缘alignment,并溢出内容框的右边缘。 
你可以在这里看到两个案例。
任何CSS魔法都可以使文本同时溢出内容框的左边缘和右边缘,从而保持居中?
我知道这个问题是旧的,但我只是有同样的问题,并find一个简单的解决scheme,只有一个跨度。 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%; } 
伪变体唯一的缺点是只能用一行文本。
魔术师来拯救。 如果有人有兴趣,你可以在这里看到解决scheme。
HTML:
 <div id="outer"> <div id="inner"> <div id="text">some text</div> </div> </div> <div id="outer"> <div id="inner"> <div id="text">some text that will overflow</div> </div> </div> 
CSS:
 #outer { display: block; position: relative; left: 100px; width: 100px; border: 1px solid black; background-color: silver; } #inner { /* shrink-to-fit width */ display: inline-block; position: relative; /* shift left edge of text to center */ left: 50%; } #text { /* shift left edge of text half distance to left */ margin-left: -50%; /* text should all be on one line */ white-space: nowrap; } 
奇怪的要求。 我会扩大框的文字大小。
 一个可能的解决scheme可能涉及一个负面的文本缩进: text-indent: -50px;  ,但是对于较小的文本则不起作用(在你的例子中是第一个DIV )。 现在没有比这更好的主意了。 
尝试
 word-wrap:break-word; 
代替:
 white-space:nowrap; 
或者你只想在一条线上?
这似乎工作:添加一个包装块与位置相对和左:50%余量:-100%,你可以在这里看到这里是代码:
 <style> div { display: block; position: relative; left: 100px; height:1.5em; width: 100px; text-align: center; white-space: nowrap; border: 1px solid black; background-color: silver; } span{ display:block; position:relative; left:50%; margin-left:-100%; } </style> <div><span>some text</span></div> <div><span>some text that will overflow</span></div> 
为了使解决scheme适用于多行文本,您可以通过将#inner从50%更改为25%来修改Nathan的解决scheme。
 给最里面的div一些margin: 0 -50% 。 如果元素都是显示块或内联块,并且文本alignment居中,则为最内层元素的文本提供更多的空间。 至less,它对我有用。