我目前正在使用jquery插件来设置我的背景图像。我遇到的问题是CSS / JQuery使页面成比例。我的内容位于#container
div内,所以我将其位置设置为绝对(原来是相对的)。如何将页面内容对齐在中心并保持100%高度的属性? EXAMPLE
这是在jquery插件之前 - CSS 100%height- EXAMPLE
Jquery背景插件
<script>
(function($) {
$.fn.fullBg = function(){
var bgImg = $(this);
function resizeImg() {
var imgwidth = bgImg.width();
var imgheight = bgImg.height();
var winwidth = $(window).width();
var winheight = $(window).height();
var widthratio = winwidth / imgwidth;
var heightratio = winheight / imgheight;
var widthdiff = heightratio * imgwidth;
var heightdiff = widthratio * imgheight;
if(heightdiff>winheight) {
bgImg.css({
width: winwidth+'px',
height: heightdiff+'px'
});
} else {
bgImg.css({
width: widthdiff+'px',
height: winheight+'px'
});
}
}
resizeImg();
$(window).resize(function() {
resizeImg();
});
};
})(jQuery)
</script>
与问题相关的CSS
#container {
position: relative;
margin: 0 auto;
width: 945px;
background: #f0f0f0;
height: auto!important;
height: 100%;
min-height: 100%;
border-right: 15px solid #000;
border-left: 15px solid #000;
}
.fullBg {
position: absolute;
top: 0;
left: 0;
overflow: hidden;
}
HTML / Inline JS调用函数
<img src="images/raven_bg.jpg" alt="" id="background" />
<div id="container">
</div>
<script>
$(window).load(function() {
$("#background").fullBg();
});///this comes right before the closing body tag
</script>
答案 0 :(得分:2)
以此为中心 -
#container {
margin-left: 50%;
left: -488px;
}
它有点hacky,但它确实有效。
50%移位(根据宽度保持居中)
宽度的一半,加上border = 478.5(或488),使其保持在框架中心。当然,“左”只能起作用,因为它有位置:相对;附在它上面