gpt4 book ai didi

jquery - 即使在窗口调整大小后也将绝对定位的 DIV 居中(用于响应式设计)

转载 作者:太空宇宙 更新时间:2023-11-03 20:49:04 25 4
gpt4 key购买 nike

我想在屏幕中间保留一个绝对定位的 DIV #box,即使在窗口调整大小之后,对于所有主要设备(响应式设计)也是如此。响应式 #box 是使用 css3 媒体查询完成的,而 left 是使用 jquery 计算的。但是我可以将我的盒子精确地定位在中心,在为小屏幕调整窗口大小时,左右边距不相等。

<HTML>

<body>
<div id ="box">
<a> is am athe centre?'</a>
</div>
</body>



</HTML>

样式:

 #box {
position:absolute;
background:red;
width:900px;
height:400px;
}

@media only screen and (min-width: 979px)


{
#box{width:760px;background:yellow;}
}


@media only screen and (min-width: 768px) and (max-width: 979px)

{
#box{width:760px;background:pink;}
}



@media only screen and (min-width: 480px) and (max-width: 767px)

{
#box{width:460px;background:black;}
}


@media only screen and (min-width: 321px) and (max-width: 479px)

{
#box{width:300px;background:blue;}
}


@media only screen and (max-width: 320px)

{
#box{width:300px;background:grey;}
}

jQuery :

function leftmargin(){
var w_box = ($('#box').width());
var w_window = $(window).width();
var w_left = (w_window - w_box)/2 ;
$("#box").css("left", w_left + "px");
}

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

$(document).ready(function() {
leftmargin();
});

最佳答案

你可以只添加这个,甚至不需要媒体查询或 javascript(因为你知道盒子的大小):

#box {
position:absolute;
background:red;
width:900px;
height:400px;
top: 50%;
left: 50%;
margin-top: -200px; // half total width (border, padding, and width)
margin-left: -450px; // half total height (border, padding, and width)
}

如果您不知道宽度,但可以只针对支持转换的现代浏览器,请将 margins 替换为:

transform: translate(-50%, -50%);

关于jquery - 即使在窗口调整大小后也将绝对定位的 DIV 居中(用于响应式设计),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17927009/

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