CSS 相对定位

发布于 2024-12-23 13:00:01 字数 459 浏览 0 评论 0原文

首先,请检查这个fiddle。 gif 图像和文本的位置正是我现在需要的位置。但是当我拖动窗格并重新调整其大小时,gif 图像的位置发生了变化。我希望 gif 图像保持在“正在加载”文本的顶部居中,即使您调整窗口大小也是如此。我该怎么做?我尝试使用 position:relative 但我的 CSS 知识几乎垫底。有人可以帮我解决这个问题吗?

非常感谢。

旁注:上面提供的小提琴最初来自这个问题。感谢 Robert Koritnik 的回答。

First of all, please check this fiddle. The gif image and the text is positioned exactly how I need them right now. But when I drag the pane and re-size it, the gif image's position changes. I want the gif image to stay on top of the 'Loading' text centered even when you resize the window. How can I do this? I tried using the position: relative but my CSS knowledge is almost at the bottom. Can anyone lend me some help on this please?

Thanks very much.

sidenote : The fiddle provided above is originally from this question. Thanks to Robert Koritnik for the answer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

再见回来 2024-12-30 13:00:01

如何将 移动到

内并使用负定位将其移动到 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);

以及您的更新的小提琴

How about moving the <img> inside the <div> and using negative positioning to move it above the Loading... text?

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);

And as your updated fiddle also.

几度春秋 2024-12-30 13:00:01

问题在于您的一个元素是相对定位的,而另一个元素是绝对定位的。一个是相对于其父容器的,另一个是相对于页面的。因此,当调整页面大小时,控制其缩放的边界框与不同的指标成比例。

The problem is that one of your elements is positioned relatively and the other is absolute. One is relative to it's parent container, the other is relative to the page. So when the page is resized, the bounding box that governs their scaling is proportionate to different metrics.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文