我正在尝试将'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中指定的页面高度。
我有一段时间没有编码,但通常在我创建一个居中的页面时:
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; }
这可能会或可能不会,就像我说的那样,已经有一段时间了。
为了保证金:在您的情况下自动工作需要具有主要容器的定义宽度/高度,即HTML和BODY
重要信息:HTML和BODY元素都必须使用width / height属性进行控制
做如下
html,body {
background-color:#FFFFFF;
width:100%;
height:100%;
}
并观看这个fiddle
看来你的div正在填满全屏宽度。因此中心对齐不会对div产生任何明显影响。尝试使用跨度。
以下将无法正常工作
<body style="text-align:center">
<div>Foo</div>
</body>
以下应该工作
<div style="text-align:center">
<span>Foo</span>
</body>
<div style="margin:0px auto;">sfsfsafafas</div>
使用此代码肯定会使div成为中心。
简单:
HTML
<div id="page"></div>
CSS
#page {
width: 350px; height: 400px; border: 1px solid #000; margin: auto
}
如果您尝试水平居中,也可以查看“左”和“右”属性以使a居中。
例如,如果您的宽度是页面的60%(宽度:60%),您可以设置(左:20%)和(右:20%)可以居中,但这取决于div的位置。 (位置:绝对)或(位置:相对)。
(position:absolute)具有上述宽度,左侧和右侧应水平居中。
HTML中的<center> enter code </center>
过去也适用于我。
我不是这个的大师,所以我不知道在你的情况下使用什么“最佳实践”。