我有两个div。第二个div应该在第一个div上面,所以……当点击第一个div中的菜单按钮时,第二个div应该出现在第一个div上(第二个div覆盖第一个div)。我将第二个div创建在第一个div下面,给它相对位置,并把它移到第一个div上方。但是出现了一个问题。由于div太长,导致它的高度被保存在底部,发生了溢出。如何在没有任何问题的情况下完成这件事?
HTML
<div class='wrapper'>
<div class='firstDiv'></div>
<div class='secondDiv'></div>
</div>
CSS
.wrapper{
position: relative;
}
.firstDiv, .secondDiv{
position: absolute;
}
margin-left: -100%
替换转换,并在.secondDiv
中添加width: 0px
。http://jsfiddle.net/2bjfgsrL/1/请注意HTML中第一个和第二个div之间的注释,没有这个注释,浏览器会在它们之间添加一个空格,位置就会错了。 - hobberwickeyHTML
<div class="one">
<div class="two"></div>
</div>
CSS:
.one
{
width: 170px;
height: 170px;
position: relative;
background: red;
}
.two
{
width: 70px;
height: 70px;
position: absolute;
background: black;
}
jsfiddle演示
通过css-grid,可以得到真正的答案,
将父元素设置为display:grid,
子元素设置为grid-row/column-start:1,如下所示的答案。