我正在寻找一种方法来中心的div水平在谷歌浏览器的页面。
我试过使用保证金:但是我读到Google Chrome不支持这个功能,结果我的div保持在屏幕的左边。
例如,如果我使用margin-left:100px; div确实会移向页面的中心,但我不想手动将其居中。
超文本:
<body>
<div id="header">
<p>John Doe</p>
<p>email</p>
</div>
</body>
CSS:
body
{
background-color: #f0f0f0;
}
div
{
border-radius: 5px;
}
#header
{
position: fixed;
background-color: #3399ff;
color: white;
width: 60%;
margin: auto;
}
#header p
{
display: inline;
}
4条答案
按热度按时间iszxjhcz1#
margin: auto
在固定(或绝对)位置div上不起作用,而是需要将left: 50%
和左边距设置为元素宽度的负一半。http://jsfiddle.net/ZAqJM/
更新:到目前为止,大多数浏览器都支持
transfrom: translate
,因此您可以轻松地执行以下操作:drnojrws2#
我知道这是相当古老的,但我认为值得一提的是,以下作品像魔术:
以备将来参考。
e5nqia273#
使用
margin: auto;
居中一个<div>
可以跨浏览器工作。你需要确保你试图居中的div包含在一个块级元素中。为了正确居中,
div#header
需要是 * 块级 *,并且必须有一个width
,并且是一个 * 块级 * 元素的子元素。(从技术上讲,<body>
是 * 块级 *,但是您可能希望保留标头的“containship”)因此,从
#header { ... }
中删除position: fixed
。请参见工作示例:http://jsfiddle.net/amyamy86/2sXdC/7nbnzgx94#
margin:auto是为有宽度的对象设置的,并且左右边距相等。
Div基本上是具有全宽(100%)的BLOCK,因此设置margin:auto是不会得到任何东西的,因为宽度是父对象的全宽。
为了让它起作用,你可以用两种方法,
1.使用文本对齐:div居中-〉这将对齐div中心内的文本
1.在div中包含宽度属性(即宽度:200 px),它将工作得很好。