当我为宽度大于文本宽度的元素指定text-align:center时,文本在元素的内容框中居中(如预期).

当我为宽度小于文本宽度的元素指定text-align:center时,文本将与内容框的左边缘对齐,并溢出内容框的右边缘.

您可以在操作here中看到这两个 case .

任何CSS魔术都可以使文本在内容框的左边缘和右边缘均匀溢出,从而使其保持居中吗?

推荐答案

我知道这个问题很古老,但是我刚刚遇到了同样的问题,并且找到了一个简单得多的解决方案,只需要一个跨度. 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就可以完成.

div:before {
    content: "";
    margin-left: -100%;
}
div:after {
    content: "";
    margin-right: -100%;
}

伪变量的唯一缺点是它只能处理一行文本.

Css相关问答推荐

为什么图像加载请求没有显示在我的网络请求中?

React呈现多个css文件

使用间距时奇怪的MUI网格行为

具有不同边框宽度和 colored颜色 的边框半径,Safari渲染问题

寻找组件中最大的元素来设置其他组件的高度

如何更改Swiper Navegation默认 colored颜色

:not() 适用于特定类中的所有 html 标签

为什么align-content:start应用于单行项目?

Img 未拉伸以满足所需的纵横比

背景图像允许溢出输入按钮

为什么每次加载新页面时我的 React 侧边栏都会抖动?

我怎样才能将我的按钮向上移动,因为文本是

使用 display:inline-block 渲染多行文本组件,行间有白色间隙

如何在特定元素之前 Select 每个元素

更改组件中 css 的值

在移动设备上touch 屏幕边缘的元素(Material UI)

CSS类和id同名

在响应式设计中指定 HTML 文本中的首选换行点

如何更改 HTML 输入标签的字体和字体大小?

CSS(webkit):在绝对定位元素上用底部覆盖顶部