【问题标题】:Margin 0 auto not working边距 0 自动不起作用
【发布时间】:2014-08-15 03:33:25
【问题描述】:

我在 ASP.net 中有以下代码,但这里是简单的 HTML

<div id="site_content">

    <div style="margin:0 auto;" class="middle">

    <input id="Text1" type="text" />
    <asp:Button ID="Button2" runat="server" Text="Search" />

    </div>
</div>

我希望带有 class="middle" 的中间 div 位于页面中心。 为什么它不起作用?

【问题讨论】:

标签: html css asp.net


【解决方案1】:

div在页面中心,只是div的宽度与页面相同。

如果您在div 上设置宽度,居中会产生效果。示例:

<div style="margin:0 auto;width: 200px" class="middle">

【讨论】:

  • 只是一个补充。这是由于 display 属性。 div 元素默认为display:block。此属性填充其容器的宽度。如果您将属性更改为其他内容,即使没有设置特定宽度,您也可以使其工作,例如:display: table;
  • @LcSalazar:嗯,不仅如此。 div 的默认宽度是 auto,这意味着它使用父元素的整个宽度。
  • 谢谢 ;) Guffa 和 LcSalazar。