html - 如何在 h1 标签内水平居中 span 元素?

标签 html css

我目前有这个标记:

<h1 class="title" id="page-title">
    <span id="page-title-inner">Home</span>
</h1>

还有这个 CSS:

h1#page-title { 
    background: transparent url(../images/line.png) 0px 6px no-repeat;
    overflow: hidden;
}

#page-title-inner { 
    width: auto; 
    float: left; 
    background: #fff; 
    padding: 0 15px; 
    position: relative; 
    left: 45%; 
}

考虑到页面标题很短,此 CSS 稍微完成了我想要的。但如果标题很长,它会从中间向右填充空间。

我真正想要实现的是将包裹在 span(在 h1 标签内)内的页面标题居中,而不管其宽度如何。

我试过做这样的事情:

#page-title-inner { 
    width: auto; 
    float: left; 
    background: #fff; 
    margin: 0 auto;
    display: block;
}

其中 margin 0 auto 值是将跨度居中的值,但我想知道为什么它不起作用。

是否有更好的方法和更高效的方法来实现我想做的事情?

最佳答案

删除 span 的 float:leftleft:45% 属性,使其居中。同时为您的 H1 标签设置 text-align:center

关于html - 如何在 h1 标签内水平居中 span 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18954226/

相关文章:

javascript - 添加表行后如何更改选择 ID 的名称?

javascript - html5 3d, Canvas ,three.js

PHP - 如何创建 4 列 (4 x 25%),然后以新的 4 列结束该行

html - ie8 在第一页加载或刷新时不呈现@font-face 字体

javascript - Bootstrap React 悬停效果

css - 带有 [class* ='col-' ] :last-of-type 的网格

javascript count present i value with previous loop output 值

html - 网站主体与背景图片不对齐

html - 列表项 anchor 中的 css3 第一个 child

javascript - 简单的 Vanilla javascript游戏