【问题标题】:Center align "span" text inside a div将 div 内的“span”文本居中对齐
【发布时间】:2011-12-14 17:55:54
【问题描述】:

我有一个 HTML 代码;

<div class="left">
<span class="panelTitleTxt">Title text</span>
</div>

我的CSS如下;

.left {
    background-color: #999999;
    height: 50px;
    width: 24.5%;
}
span.panelTitleTxt {
                display: block;
                width: 100%;
                height: 100%;
}

现在如何在 div 内居中对齐 span 文本? (假设%转换后的“左”div得到100px的px宽度)

我尝试了使用margin:auto 的标准方式,但不起作用。

我也想避免使用text-align:center

还有其他方法可以解决这个问题吗?

【问题讨论】:

  • 如果您不介意我问,为什么要避免使用“text-align:center”?
  • 如果你想居中对齐 span 的文本,使用span {text-align:center;}。如果这不能产生您想要的输出,您将不得不解释为什么我们能够帮助您。 (否则我们只需要猜测您的实际要求是什么。)
  • 如果是title,使用合适的标签(h1, h2, h31 h4, h5 or h6),不要使用非语义的。跨度>
  • 如果有人想使用 style="vertical-align: middle;" ...只有将它应用于容器 DIV 时才有效。将其应用于跨度没有任何作用......至少在 IE10 中。

标签: html css


【解决方案1】:

如果您知道跨度的宽度,您可以在左边距中填充。

试试这个:

.center { 文本对齐:居中}
div.center span { 显示:表格; }

将“center: 类”添加到您的 .

如果您希望某些跨度居中,但不希望其他跨度居中,请将样式表中的“div.center span”替换为一个类(例如“center-span”)并将该类添加到该跨度中。

【讨论】:

    【解决方案2】:

    您将跨度设置为 100% 的宽度,从而使其扩展到父级的大小。这意味着您无法将其居中对齐,因为没有移动它的空间。

    您可以给跨度设置一个宽度,然后再次添加margin:0 auto。这将使其居中对齐。

    .left 
    {
       background-color: #999999;
       height: 50px;
       width: 24.5%;
    }
    span.panelTitleTxt 
    {
       display:block;
       width:100px;
       height: 100%;
       margin: 0 auto;
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    相关资源
    最近更新 更多