html - 使用负边距重叠的 div 仅显示文本

标签 html css

我有 2 个 div 包裹在一个 div(幻灯片)中。 我希望 lap div 出现在 wall div 的内部。我尝试将 minus top-margin 添加到 lap div,但它只显示文本“你好”,我看不到背景。

<div class="slide">

    <div id="wall"><img src="http://i.imgur.com/mGjd59Z.png"/></div>
    <div id="lap">hello</div>
  </div>


#lap {
    width: 50%;
    height: 100px;
    background-color: #F34245;
    margin-top:-60px;
}

jsfiddle reference

预期结果

enter image description here

但这就是我得到的。我在问为什么只出现文本?如果 lap div 位于墙 div 的下方,那么为什么会出现文本??

enter image description here


编辑

我能够通过@Alon 的回答解决问题,但还有一个问题。

如果 lap div 在墙下面,为什么会出现文字?

最佳答案

尝试使用 transform:translateY(-60px); 而不是 margin-top:-60px;

或者使用z-index让它出现在上面:

#lap {
width: 300px;
height: 100px;
background-color: #F34245;
margin-top:-60px;
position: relative;
z-index: 1;
}

关于你的问题(如果 lap div 到墙的下面,那为什么会出现文本??)我注意到如果你将 position:relative 添加到 #wall 然后文本没有出现,所以它可能与定位有关,但同样,我不确定为什么会出现这种行为。

关于html - 使用负边距重叠的 div 仅显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33053721/

相关文章:

html - 使 div 的宽度等于它包含的图像的宽度

html - 如何让文本包装在 bootstrap col 中

java - 更改从 Java 接收的 HTML 字符串的方法

html - 如何在没有计算的情况下实现这种等距布局?

javascript - 显示编码表情符号到 html 的百分比

css - 更改 AngularJS 创建的 Bootstrap-Columns 的 CSS

php - 如何让 Youtube 视频有不同的播放器?

javascript - CSS Float 和 AngularJS

html - 使两个可变宽度的div相邻并同时居中

html - 浏览器不兼容,父 Div 的高度由子 Div 操纵,页脚被推到底部。请求纯 CSS