设置text-align:center后顶部导航栏文字仍无法居中问题求助
问题根因
你设置的text-align: center不生效的核心原因是:<span>是行内元素,默认宽度完全由内部文字内容撑开,没有多余的水平空间供内容对齐,所以针对行内元素本身设置text-align属性本质是无效的。
可行解决方案
- 方案1:给
.navbartitle新增display: block属性,将其转为块级元素,使其自动占满父容器的可用宽度,此时text-align: center就会正常生效。修改后的样式参考:
.wrapper .section .top_navbar .navbartitle{ font-size: 28px; color: #f4fbff; text-align: center; display: block; /* 新增该行即可 */ }
- 方案2:如果你的导航栏父容器
.top_navbar用了Flex布局,无需修改span的display属性,直接给父容器新增justify-content: center属性,即可让内部的span元素水平居中。 - 方案3:如果不需要让标题占满整行,直接给
.top_navbar(span的直接父元素)设置text-align: center即可,该属性会继承给内部的行内元素,同样能实现文字居中效果。
额外排查点:可以打开浏览器控制台的元素检查面板,选中对应span元素查看最终生效的样式,确认是否有
float: left/right、position: absolute这类高优先级属性覆盖了你的样式设置,这类属性也会导致居中失效。
内容的提问来源于stack exchange,提问作者Dom
相关产品推荐
相关产品推荐

