我有两个元素(图像)
imgA高2000pximgB是1000像素高的
我将它们一个接一个地放置,然后向上移动imgB(我使用相对定位)以重叠imgA。
因此,浏览器中的窗口应该是2000px高。
然而,似乎在放置imgA和imgB时,浏览器会为它们分配位置,即3000px高,在我将imgB向上移动以与imgA重叠后,我在页面底部留下了一个空白=1000px。
如何防止这种空白?
感谢
忽略此
这是因为图像是块级元素。要停止浏览器分配空间,您只需添加即可:
display:inline-block
到第二图像。这将使图像脱离块结构因此浏览器不会为其分配空白。
还可以看看相对绝对定位,它对你正在做的事情非常方便。
已编辑
正如下面评论的那样,这是行不通的。请改用"相对绝对"定位。
这里有一个jsFiddle,它显示了在另一个上定位图像所需的代码
在图像上使用display: block
,然后使用position: absolute
而不是position: relative
将imgB定位在imgA上。
不要忘记将父元素指定给position: static
以外的任何元素,以使图像相对于父元素进行定位。
为了进一步的澄清,你可以在这里看到"css块"的例子
http://www.tutorialswire.com/css/css-display
绝对定位只是您案例的特定解决方案。在某些类似的情况下,它可能不起作用(例如,如果在包含div的常规中,在这两个图像的顶部有其他元素)。
我相信最好的解决方案是使用
margin-top: -1000px;
对于第二图像。