保证金最高百分比与父母无关

时间:2018-03-15 10:34:08

标签: html css

我无法理解为什么" square" class不是相对于父,"容器"。

即 - 我将容器设置为高度为200px; " square" class在容器内,并向左浮动。

当我将margin-top设置为5%时,它不是200px的5%,而是其他东西。为什么?



.container {
  height: 200px;
  background-color: gray;
}

.square {
  width: 20%;
  height: 70%;
  margin-left: 20px;
  margin-top: 5%; /* this guy right here */
  background-color: white;
  float: left;
}

<div class="container">
  <div class="square"></div>
  <div class="square"></div>
  <div class="square"></div>
  <div class="square"></div>
</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

垂直填充和边距相对于父级的宽度。另一方面,顶部和底部不是。

尝试将div放在另一个内。使用top属性(例如:top:25%)并确保指定位置(例如position:relative;)

我已经分叉并调整了您的代码示例来演示我的意思:https://codepen.io/anon/pen/Yaqmva

top: 5%;
position: relative;

答案 1 :(得分:0)

margin属性采用父级的宽度而不是高度。您可以使用一些JavaScript来创建与高度相关的边距。