【问题标题】:Center a short text block that is align left将左对齐的短文本块居中
【发布时间】:2013-04-17 20:50:57
【问题描述】:

很容易将边距为 0 的长文本自动居中,并通过边距或内边距控制距离。

但是,是否可以在不知道宽度的情况下将文本居中以及该文本是否左对齐?

  • 将短文本居中
  • 文本左对齐
  • 我不知道宽度

这是要检查的示例:http://jsfiddle.net/j4Y3k/5/

CSS:

#long {
    margin:50px auto;
    text-align:left;
    padding: 0px 100px;
    background:white;
}

#short {
    margin:0px auto;
    text-align:left;
}

HTML:

<div id="long">
long, long,long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, 
</div>

<div id="short"> 
short, short, short<br>
short, short, short, short, short, short<br>
short, short
</div>

【问题讨论】:

  • margin: 50px auto 如果你没有固定的宽度,那是没用的
  • 我不确定我是否理解您的示例 - 您不能在 short div 上设置相同的填充吗?如果做不到这一点,请在它们上设置相同的宽度。
  • 我更新了问题:如果文本左对齐,是否可以在不知道宽度的情况下将文本居中?
  • 非常欢迎您,感谢您抽出时间以清晰简洁的方式提出您的问题。

标签: html css centering


【解决方案1】:

如果您允许自己执行以下操作,您可以轻松做到这一点:

<div class="wrap">
    <div id="short">short, short, short
        <br>short, short, short, short, short, short
        <br>short, short</div>
</div>

并应用以下 CSS:

.wrap {
    text-align: center;
}
#short {
    margin:0px;
    auto;
    text-align:left;
    outline: 1px dotted blue;
    display: inline-block;
}

见小提琴:http://jsfiddle.net/audetwebdesign/GywRR/

inline-block 将收缩包装您的内容,并且仍然响应为父容器声明的 text-align: center 属性。

为什么是内联块与块

block 将使用最大可用宽度,通常是父容器的宽度。 inline-block 将缩小以适应(w3.org 文档中的术语!),这通常会为您提供小于父容器宽度的宽度,从而允许居中工作。

【讨论】:

  • 很好的解决方案!清晰而简单。谢谢。
  • 只是为了理解:是否有任何特殊原因为什么 inline-block 有效而不是 display:block?
  • 好问题:答案是在width: auto 的默认情况下如何计算宽度。 block 将使用最大可用宽度,通常是父容器的宽度。 inline-block 将缩小以适应(w3.org 文档中的术语!),这通常为您提供小于父容器宽度的宽度,然后允许居中工作。
【解决方案2】:

使用“margin auto”居中时,您需要设置width。此外,您的 margin 属性中存在语法错误;

#short {
    margin:50px auto;
    text-align:left;
    width:300px;
}

http://jsfiddle.net/j4Y3k/2/

您可能认为您已将长元素居中,但这只是因为它的空间不足,而100px 填充迫使两侧的间隙。如果您希望真正居中,您还需要在此设置 width 属性。

【讨论】:

  • 重点是:使左对齐文本居中的唯一方法是知道宽度?
猜你喜欢
  • 2017-06-12
  • 2014-05-27
  • 2016-10-11
  • 1970-01-01
  • 2019-10-01
  • 2018-05-12
  • 2016-02-13
  • 1970-01-01
  • 2015-10-07
相关资源
最近更新 更多