gpt4 book ai didi

javascript - 在页面加载时使用 JavaScript 在父容器中垂直居中子 div 不是设置位置?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:03:44 24 4
gpt4 key购买 nike

我正在使用 JavaScript 将子 div 在流体容器中垂直居中。我基本上是通过计算父容器的高度和子 div 的高度来完成此操作的。然后我根据高度将子 div 绝对定位在父 div 的中心。我遇到的问题是当页面加载时,它没有设置子 div 的位置。我从中创建了一个函数,并在调整窗口大小时调用它,以便在视口(viewport)更改时动态重新计算。我将如何开始在页面加载时设置这个位置?

<div class="lead">
<div class="message"></div>
</div>

var homepageLead = function () {
var lead = $('.lead'),
message = $('.message'),
lead_height = lead.height(),
message_height = message.height(),
lead_center = .5 * lead_height,
message_center = .5 * message_height,
center = (lead_center - message_center);
message.css('bottom',center);
}
homepageLead();

$(window).resize(function () {
homepageLead();
});

最佳答案

试试这个 fiddle :http://jsfiddle.net/nRRn6/

使用的CSS:

html, body {
height:100%;
}
.lead {
width:100%;
height:100%;
background:red;
position:relative;
}
.message {
width:120px;
height:200px;
background:yellow;
position:absolute; /* <---required*/
left:0; /* <---required*/
bottom:0; /* <---required*/
}

使用的 html:

<div class="lead">
<div class="message"></div>
</div>

使用 jQuery:

var homepageLead = function () {
var lead = $('.lead'),
message = $('.message'),
lead_height = lead.height(),
message_height = message.height(),
lead_center = .5 * lead_height,
message_center = .5 * message_height,
center = (lead_center - message_center);
return message.css('bottom', center);
};

$(function () {
$(window).resize(function () {
homepageLead();
}).resize();
});

关于javascript - 在页面加载时使用 JavaScript 在父容器中垂直居中子 div 不是设置位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14918181/

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