父级容器宽度的水平中心文本?

时间:2012-12-16 21:45:02

标签: html css

我试图将一些文本水平居中于div。

CSS:

#parent {
      background-color: #eee;
      height: 48px;
      text-align: center;
}
#colLeft {
      background-color: #ff8b8b;
      height: 48px;
      display: inline;
      float: left;
}
#colRight {
      background-color: #c3d0ff;
      height: 48px;
      display: inline;
      float: right;
}

HTML:

<div id="parent" style="width:100%">
      <div id="colLeft">left left left left</div>
      Title
      <div id="colRight">right</div>
 </div>

 <div style="width:100%; text-align:center">
      Title - this one is really centered.
 </div>

但是文本“标题”似乎以考虑#colLeft消耗的空间而居中,因此它并不是真正关注浏览器宽度。

无论#colLeft占用多少空间,有没有办法让文章真正居中?

3 个答案:

答案 0 :(得分:0)

不是真的推荐,但你可以这样做JS Fiddle

#parent {
      background-color: #eee;
      height: 48px;
      text-align: center;
}
#colLeft {
      background-color: #ff8b8b;
      height: 48px;
      display: inline;
      float: left;
}
#colRight {
      background-color: #c3d0ff;
      height: 48px;
      display: inline;
      float: right;
}
.title{
    position: absolute;
    width: 100px;
    left: 50%;
    margin-left: -50px;
}

<div id="parent" style="width:100%">
      <div id="colLeft">left left left left</div>
    <div class="title">Title</div>
      <div id="colRight">right</div>
 </div>

 <div style="width:100%; text-align:center">Title - this one is really centered.</div>​

您制作标题position:absolute。给它一个宽度。 left: 50%margin-left:减去宽度的一半。它将保持中心。但我不建议这样做......

答案 1 :(得分:0)

如果你用这样的div包围Title:

<div style="position: absolute;left: 50%">Title</div>

你擅长Webkit。

答案 2 :(得分:0)

<div align="left" style="border:5px solid white; text-align:center; position:relative">

<div align="left" style="border:4px solid brown; float:left; width:100px; position:absolute"><span>left</span></div>
<div align="left" style="border:4px solid brown; right:0; width:200px; position:absolute"><span>right</span></div>

<span>really centered</span></div>