无法对齐 to center

问题描述 投票:3回答:6

我正在尝试将'div'属性与页面中心对齐(水平)。问题是,无论我使用什么属性,'div'继续与左对齐。我正在努力的'div'是网页的'div'页面,它位于'html'和'body'属性中。这是CSS代码:

#page{
    margin-top:20px;
    margin-bottom:20px;
    margin-left: auto;
    margin-right:auto;

    border-color: black;
    border-style: solid;
    border-width: thin;

    overflow:auto;

    padding-bottom: 10px;
    padding-top: 0px;

    width:1200px;
    background-color:#ffffff;
    font-family:Arial, Helvetica, sans-serif;
    color:black;
    font-size:12px;    
    height:700px;
}

'html','body'CSS代码如下:

html,body {
    background-color:#FFFFFF;
    margin-left: auto;
    margin-right: auto;
}

请注意,如果我删除“溢出”属性,div将与页面的中心对齐(尽管它覆盖在它上面的菜单)但我需要“overflow”属性来自动添加滚动条,如果宽度/将在此div中显示的页面高度大于CSS中指定的页面高度。

css html alignment
6个回答
2
投票

我有一段时间没有编码,但通常在我创建一个居中的页面时:

html, body { width: 100%; height: 100%; margin: 0 auto; text-align: center; }

然后为div:

#page { width: 900px; overflow: hidden; text-align: left; margin: 20px 0 20px 0; }

这可能会或可能不会,就像我说的那样,已经有一段时间了。


1
投票

为了保证金:在您的情况下自动工作需要具有主要容器的定义宽度/高度,即HTML和BODY

重要信息:HTML和BODY元素都必须使用width / height属性进行控制

做如下

html,body {
    background-color:#FFFFFF;
   width:100%;
    height:100%;
}

并观看这个fiddle


1
投票

看来你的div正在填满全屏宽度。因此中心对齐不会对div产生任何明显影响。尝试使用跨度。

以下将无法正常工作

<body style="text-align:center">
  <div>Foo</div>
</body>

以下应该工作

<div style="text-align:center">
  <span>Foo</span>
</body>


1
投票
<div style="margin:0px auto;">sfsfsafafas</div>

使用此代码肯定会使div成为中心。


0
投票

简单:

HTML

<div id="page"></div>

CSS

#page {
  width: 350px; height: 400px; border: 1px solid #000; margin: auto
}

jsFiddle example


0
投票

如果您尝试水平居中,也可以查看“左”和“右”属性以使a居中。

例如,如果您的宽度是页面的60%(宽度:60%),您可以设置(左:20%)和(右:20%)可以居中,但这取决于div的位置。 (位置:绝对)或(位置:相对)。

(position:absolute)具有上述宽度,左侧和右侧应水平居中。

HTML中的<center> enter code </center>过去也适用于我。

我不是这个的大师,所以我不知道在你的情况下使用什么“最佳实践”。

© www.soinside.com 2019 - 2024. All rights reserved.