如何使div中心在HTML中对齐

时间:2010-04-22 13:27:02

标签: html css

  

可能重复:
  How to horizontally center a div?

将对象置于HTML中心的一种简单方法是使用align='center',但它不适用于div。

我试过了:

style='text-align:center';
style='left:50%';

我甚至是中心标签

<center>

但我不能让我的目标div成为中心。

4 个答案:

答案 0 :(得分:43)

<!DOCTYPE html>
<html>
  <head>
    <title>Center</title>
  </head>
  <body>

    <div style="text-align: center;">
      <div style="width: 500px; margin: 0 auto; background: #000; color: #fff;">This DIV is centered</div>
    </div>

  </body>
</html>

在IE,Firefox,Chrome,Safari和Opera中进行测试和工作。我没有测试IE6。 IE需要外部text-align。当您给DIV边距(左和右)值auto时,其他浏览器(和IE9?)将起作用。保证金“0 auto”是保证金“0 auto 0 auto”(右上角左下角)的简写。

注意:文本也在内部DIV中居中,如果你想让它保留在左侧,只需指定text-align:left;对于内在的DIV。

编辑:在标准模式下运行的IE 6,7,8和9将使用设置为自动的边距。

答案 1 :(得分:11)

我认为align="center"对齐内容,所以如果你想使用那个方法,你需要在'wraper'div中使用它 - 一个只包装其余部分的div。

text-align正在做类似的事情。

除非你将div的位置设置为相对或绝对的位置,否则忽略

left:50%

普遍接受的方法是使用以下属性

width:500px; // this can be what ever unit you want, you just have to define it
margin-left:auto;
margin-right:auto;

边距为自动意味着它们会增长/缩小以匹配浏览器窗口(或父div)

<强>更新

感谢Meo说出这一点,如果你愿意,你可以节省时间并使用短手的利润来保证。

margin:0 auto;

这将顶部和底部定义为0(因为它是零,它与单位缺少无关),左边和右边定义为'auto'然后你可以,如果你不能覆盖说顶部边距就像你使用任何其他CSS规则一样。

答案 2 :(得分:1)

取决于你的div是否在位:绝对/固定或相对/静态

位置:绝对和&amp;固定

<div style="position: absolute; /*or fixed*/; width: 50%; height: 300px; left: 50%; top:100px; margin: 0 0 0 -25%">blblablbalba</div>

这里的技巧是使对象宽度的一半为负边距

对于职位:亲属&amp;静态

<div style="position: relative; /*or static*/; width: 50%; height: 300px; margin: 0 auto">blblablbalba</div>

对于这两种技术,必须设置de width

答案 3 :(得分:-1)

这些方面的内容如何

<style type="text/css">
  #container {
    margin: 0 auto;
    text-align: center; /* for IE */
  }

  #yourdiv {
    width: 400px;
    border: 1px solid #000;
  }
</style>

....

<div id="container">
  <div id="yourdiv">
    weee
  </div>
</div>