CSS相对定位

时间:2011-12-30 19:45:03

标签: css positioning

首先,请检查fiddle。 gif图像和文本的位置正是我现在所需要的。但是当我拖动窗格并重新调整大小时,gif图像的位置会发生变化。即使您调整窗口大小,我希望gif图像保持在居中的“正在加载”文本的顶部。我怎样才能做到这一点?我尝试使用position: relative,但我的CSS知识几乎在底部。有人可以借此给我一些帮助吗?

非常感谢。

旁注:上面提供的小提琴最初是来自question。感谢Robert Koritnik获得答案。

2 个答案:

答案 0 :(得分:2)

如何移动<img>内的<div>并使用否定定位将其移至Loading...文字上方?

HTML

This is some content
<div id="blocker">
<div>Loading...<img src="http://www.socialups.com/static/images/fbinventory/ajax_loader.gif"></div>
</div>

<button>click</button>

CSS

div#blocker {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .5;
    background-color: #000;
    z-index: 1000;
    overflow: auto;
}

div#blocker div {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 5em;
    height: 2em;
    margin: -1em 0 0 -2.5em;
    color: #fff;
    font-weight: bold;
}

div#blocker img {
    position: relative;
    top: -55px;
    left: 15%;
}

的JavaScript

setTimeout(function() {
    document.getElementById("blocker").style.display = 'none';
}, 3000);

还有updated fiddle

答案 1 :(得分:1)

问题是你的一个元素是相对定位的,另一个是绝对的。一个是相对于它的父容器,另一个是相对于页面。因此,在调整页面大小时,管理其缩放的边界框与不同的度量标准成比例。