我想即使在窗口重新大小和所有主要設備(響應式設計),以保持絕對定位DIV #box
屏幕對中心絕對定位DIV。響應式#box使用css3媒體查詢完成,而left
使用jquery進行計算。但我可以在中心準確地定位我的盒子,在窗口重新大小小屏幕有不平等的左&右頁邊距。即使在窗口重新大小(響應式設計)
<HTML>
<body>
<div id ="box">
<a> is am athe centre?'</a>
</div>
</body>
</HTML>
CSS:
#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();
});
感謝您的回答!這接近我想要的東西。這在特定的屏幕尺寸上工作正常。但我想用jquery實現margin-left,所以即使在單個像素重新調整大小的情況下,我的div框仍然始終位於中心。 – galexy
這是'left:50%'實際上做的事情。當視口寬度改變1px時,你的盒子的寬度是否改變?然後看看我的JavaScript解決方案。 margin-left的值在'resize'上設置,並使用框的當前寬度進行計算。 – Wolfram
更新了第二個解決方案,盒子現在寬30%,所以它不斷變化:http://jsfiddle.net/NnDvs/1/ – Wolfram