HTML
<div id="galerie">
<div id="stanga">
</div>
</div>
CSS
#galerie {
margin-top: 5%;
width: 974px;
height: 500px;
margin-left:auto;
margin-right:auto;
background-color:yellow;
}
#stanga {
width: 50px;
height: 50px;
background-color: red;
margin-top:20px;
margin-left: 0px;
}
我希望我的红色方块从黄色容器中获得margin-top:10px
。
http://jsfiddle.net/97fzwuxh/16/
答案 0 :(得分:2)
边距会因设计而崩溃,因此您的内部边距会影响您的外部div。
将overflow:auto
添加到#galerie
样式
或
将padding:1px
添加到#galerie
样式
您的问题称为adjoining
如果两个边距属于垂直相邻的框边缘,则它的第一个插入子框的两个边距为adjoinin
答案 1 :(得分:0)
答案 2 :(得分:0)
你可以使用绝对值。
#galerie {
position: relative;
margin-top: 5%;
width: 974px;
height: 500px;
margin-left:auto;
margin-right:auto;
background-color:yellow;
}
#stanga {
position: absolute;
width: 50px;
height: 50px;
background-color: red;
margin-top: 10px;
margin-left: 0px;
}
答案 3 :(得分:0)
你需要位置:外部元素的相对位置(#galerie) 和位置:内部元素上的绝对值(#stanga)
#galerie {
width: 974px;
height: 500px;
background-color:yellow;
position: relative;
}
#stanga {
width: 50px;
height: 50px;
background-color: red;
margin-top:200px;
position: absolute;
}
这是更新的工作小提琴: http://jsfiddle.net/97fzwuxh/19/
另外,阅读这篇文章我发现它非常有用:https://css-tricks.com/absolute-positioning-inside-relative-positioning/
TLDR:具有相对定位的页面元素使您可以将子元素绝对定位在其中。