在 css 样式中margin:0px auto; 是元素在 x 轴的中心。
但我希望在 y 轴上保持相同的中心。
^ | | <----E----> | | v
提前致谢
看起来你需要鼓乐FLEXBOX!!!在父元素上设置以下样式,同时保持子元素具有明确定义的宽度和margin: 0 auto;
.parent {
display: box;
box-orient: horizontal;
box-pack: center;
box-align: center;
}
看看:http: //jsfiddle.net/6j5Ah/
希望您使用的是一款不错的新浏览器,因为这在您爷爷的浏览器中不起作用(http://caniuse.com/#search=flexbox)。
在 HTML5rocks.com 上阅读的内容超出了我的预期:http: //www.html5rocks.com/en/tutorials/flexbox/quick/#toc-center
还要记住,关于 flexbox 的规范已经发生了一些变化,并且有一个新的语法。我发布的是旧的 (2009) 语法,因为它有更广泛的支持。随着浏览器进入未来,这种情况将会发生变化。您可以找到有关 CSS Tricks 差异的更多信息——http ://css-tricks.com/old-flexbox-and-new-flexbox/
如果您知道盒子的大小,则可以使用位置,如下所示:
<div class="center"></div>
.center {
position: absolute;
top: 50%;
left: 50%;
margin-top: height /2;
margin-left: width / 2;
width: ... px;
height: ...px;
}
另一种方法,请点击这里。
<div id = "centerDiv"></div>
CSS
#centerDiv
{
width: 200px;
display: block;
margin-left: auto;
margin-right: auto;
}
此代码有助于水平居中。
编辑:
试试这个链接。我想这就是你想要的:-)