将一个div覆盖在另一个div上,但不知道div的大小
我试图把一个div放在另一个div上。 如果您知道div的尺寸,这非常简单。
解决这里:如何覆盖一个div在另一个div
所以,这里是我的HTML:
<div class="container">
<div class="overlay"></div>
<div class="content"></div>
</div>
就我而言,我不知道“内容”或“容器”div的确切尺寸。 这是因为我无法控制div中的任何内容(我们正在使我们的应用程序可扩展到第三方开发人员)。
在jsFiddle上查看我的示例覆盖应该完全覆盖内容。 宽度100%和高度100%。 然而,这不起作用,因为在我的例子中,我绝对定位了覆盖。
一种解决方案是使用JavaScript来获取内容div的大小,然后设置叠加层的大小。 我不太喜欢这个解决方案,因为如果图像大小没有指定,你需要等到图像加载并重新计算div的大小。
有什么方法可以解决CSS中的这个问题吗?
您可以将位置设置为绝对值,然后将所有4个定位值设置为0px
,这将使该框扩展。 在这里看到一个演示:http://jsfiddle.net/6g6dy/
这样,如果你想在覆盖层或容器上填充(如果你使用实际的height
和width
值),你不必担心重新计算的东西,因为它总是要调整到盒子的外部尺寸。
这是不可能的,因为:
我通过使用JavaScript *解决了这个问题。 例如。
function resizeOverlay() {
$('.overlay').css({
width: $('.content').width()
height: $('.content').height()
});
}
$('.content').find('img').on('load', resizeOverlay);
*代码未经测试。
嘿,你是这样看待:http://tinkerbin.com/Vc4RkGgQ
CSS
.container {
position:relative;
background:blue;
color:white;
}
.content {
position:absolute;
top:0;
left:15px;
background:red;
color:yellow;
}
链接地址: http://www.djcxy.com/p/75857.html
上一篇: Overlaying one div over another, but not knowing the size of the div