我有一个关于垂直居中简单div的问题。
它总是给出margin-top="0px"
垂直居中与水平居中相同,水平居中效果很好。
(为了进一步开发,需要在javascript中将其居中)
有什么解决方案吗?
$(document).ready(function() {
var width1 = $("body").width();
var width2 = $("#main").width();
var height1 = $("body").height();
var height2 = $("#main").height();
var centerw = (width1 - width2) / 2;
var centerh = (height1 - height2) / 2;
$("#main").css("margin-left", centerw + "px");
$("#main").css("margin-top", centerh + "px");
});
$(window).resize(function() {
var width1 = $("body").width();
var width2 = $("#main").width();
var height1 = $("body").height();
var height2 = $("#main").height();
var centerw = (width1 - width2) / 2;
var centerh = (height1 - height2) / 2;
$("#main").css("margin-left", centerw + "px");
$("#main").css("margin-top", centerh + "px");
});
* {
margin: 0;
padding: 0;
border: 0;
float: left;
width: 100%;
position: relative;
text-align: center;
overflow: hidden;
}
#main {
width: 400px;
height: 600px;
background-color: gray;
}
<body>
<div id="main">
</div>
</body>
.css()
函数,从而一次性设置多个CSS值,对吧? - D4V1Dmargin-left: auto; margin-right: auto
可以使一个块居中。 - Niet the Dark Absolfloat: left
的 CSS 声明。另外,如上面的提示,要水平居中,您可以在您的情况下在#main
上使用margin: 0 auto;
。 - Steven Anderson