无法将div降低

时间:2016-09-10 16:28:53

标签: html css

我确定这很简单,但我今天已经看了一段时间而且无法弄明白。

我想要做的就是将顶部div'#template-nav'向下移动一点,这样它上面就有一些空白区域。我尝试过margin-top和padding,但它不会向下移动。

我下面有jsfiddle以及代码,非常感谢我找到我在这里出错的地方。

https://jsfiddle.net/rufusbear/Lgx7eksa/

<div id="template">
  <div class="template-row">
    <div id="template-nav"></div>
  </div>
  <div class="template-row">
    <div id="template-jumbo"></div>
  </div>
  <div class="template-row">
    <div class="template-col-1"></div>
    <div class="template-col-2"></div>
  </div>
  <div class="clearfix"></div>
  <div class="template-row">
    <div id="template-footer"></div>
  </div>


</div>

#template {
  background: #fff;
  width: 400px;
  height: 400px;
  margin-top: 10%;
}

.template-row {
  max-width: 380px;
  margin: 0 auto;
}

#template-nav {
  height: 40px;
  background: #8dcdc1;
  padding-top: 10px;
}

#template-jumbo {
  height: 150px;
  margin: 2% 0%;
  background: #d3e397;
}

.template-col-1 {
  height: 130px;
  width: 48%;
  float: left;
  margin-right: 2%;
  background: #fff5c3;
}

.template-col-2 {
  height: 130px;
  width: 48%;
  float: left;
  margin-left: 2%;
  background: #fff5c3;
}

#template-footer {
  height: 40px;
  margin: 2% 0%;
  background: #d3e397;
}

.clearfix:after {
  content: '.';
  clear: both;
  display: block;
  height: 0;
  visibility: hidden;
}

全部谢谢

2 个答案:

答案 0 :(得分:1)

#template内的顶部元素中添加margin-top将不起作用,因为元素及其顶级子元素的边距相互影响。 但您可以将padding-top添加到#template

https://jsfiddle.net/wh6cgLt0/

答案 1 :(得分:0)

#template {
  background: #fff;
  width: 400px;
  margin-top: 10%;
 /* removed height property */
  padding: 10px 0; /* adds padding to top and bottom evenly */
}

只是一个基本的CSS编辑....

Fiddle update