gpt4 book ai didi

javascript - 垂直居中一个div

转载 作者:行者123 更新时间:2023-11-29 14:46:10 26 4
gpt4 key购买 nike

我在垂直居中一个简单的 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>

最佳答案

在 Chrome 中我没有遇到你的代码问题,只是在 firefox 中它不起作用。

问题是 body 和盒子的高度相同,你可以将 body 的高度设置为 100% 或者使用 $(window).height(); 代替 $( "body").height();

JSFiddle

<!DOCTYPE  html>
<html>
<head>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(document).ready(function() {
var width1 = $(window).width();
var width2 = $("#main").width();
var height1 = $(window).height();
var height2 = $("#main").height();
var centerw = (width1 - width2) / 2;
var centerh = (height1 - height2) / 2;
console.log(width1+" " +width2 + " " + height1 + " " + height2);
$("#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");
});
</script>

<style>
#main {
width: 400px;
height: 600px;
background-color: gray;
}
</style>
</head>
<body>
<div id="main"></div>
</body>
</html>

关于javascript - 垂直居中一个div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32597015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com