div的宽度问题

时间:2015-12-02 23:33:22

标签: html css

我不明白为什么这两个div的宽度不同。我的目标是在页面的每一侧都有边距。此外,我不明白为什么左侧比右侧更多的空间应该是平等的。

http://jsfiddle.net/dazakip/u7d59901/2/

body {
  margin-left: 9%;
  margin-right: 9%;

}

.nav {
  float: left;
  width: 100%;
  height: 10px;
  padding-top: 3px;
  padding-bottom: 10px;
  background-color: green;
}

.logo {
  clear: both;
  width: 100%;
  height: 100px;
  background-color: #C7D0D5;
  padding: 20px;
}

4 个答案:

答案 0 :(得分:1)

你的div上缺少box-sizing: border-box;,填充增加了整体宽度

答案 1 :(得分:1)

添加填充时,会将其添加到大小中,因此.logo的宽度为100%+ 40px。要解决此问题,请将框大小调整为边框。

.logo {
  clear: both;
  width: 100%;
  height: 100px;
  background-color: #C7D0D5;
  padding: 20px;
  box-sizing: border-box;
}

答案 2 :(得分:1)

查看box-sizing属性,以更直观的方式更改边距的行为:http://www.paulirish.com/2012/box-sizing-border-box-ftw/

答案 3 :(得分:1)

这是因为你将.logo的填充设置为20px。因此,你的.logo左侧和右侧的宽度将增加20px。

尝试删除它或添加" box-sizing:border-box;"所以即使你给出填充,你的.logo宽度也不会扩展。