我无法完美地将具有动态大小的 div 居中,该大小会根据用户上传的图像的尺寸而变化。该功能应该将 div 绝对定位在所有其他内容的屏幕中心,但是无论我使用什么图像,它都会偏离一小部分......见下文:
http://i.imgur.com/F9NNDAH.jpg
这是CSS:
.prompt_background {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
background-color: black;
-moz-opacity:.50;
filter:alpha(opacity=50);
opacity:.50;
display: none;
}
.prompt_box {
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
background-color: white;
z-index: 1;
display: none;
position: fixed;
top: 50%;
left: 50%;
behavior: url(PIE.htc);
}
.prompt_content {
width: 100%;
margin: 10px;
}
我加载它的方式是这样的:
function showprompt() {
$('.prompt_box')
.css("margin-left", -(($('.prompt_box').width())/2)+"px") //Horizontal center
.css("margin-top", -(($('.prompt_box').height())/2)+"px"); //Vertical center
$('.prompt_background')
.css('height', $(document).height())
.css("width", $(document).width()); //Background stretch
$('.prompt_background')
.css('filter', 'alpha(opacity=50)'); //Background opacity
$('.prompt_background, .prompt_box')
.fadeIn(500); //Animation
}
至于 HTML,它只是三个空的 div,我通过 ajax 将内容加载到其中
<div class="prompt_background">
</div>
<div class="prompt_box">
<div class="prompt_content">
</div>
</div>