セットの高.container
さを 100% にしています。このサンプルでは、それを含む要素と同じ高さになります。上部が に設定され80px
、高さが親の高さであるため、下部から ~ だけ下に拡張され80px
ます。
これを捨てる他のものは次のとおりです。
- 浮動要素は通常のフローの外側にあります。これは、含まれている要素がその子の高さを計算できないことを意味します。
position: inline-block;
この場合、最も簡単な修正は子供に使用することだと思います。
- 子要素
banner
とcontainer
は絶対配置されます。これにより、ドキュメントの流れから外れることにもなります。この例では、相対位置を使用して探している結果を得ることができると思います。
- マージンもレイアウトから外れています。ここでは、パディングを使用し
#content
てより良い結果を得ることができます。
Demo fiddle
更新された CSS:
* {
margin: 0;
padding: 0;
border: 0;
box-sizing: border-box;
}
header {
width: 100%;
height: 60px;
background-color: #dcdcdc;
position: relative;
}
#content {
position:relative;
margin: 0 auto;
width: 960px;
min-height: 500px;
max-height: 100%;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
box-shadow: 0px 2px 2px #111;
background-color: red;
padding: 20px;
padding-top: 0;
}
#banner {
width: 900px;
position: relative;
margin: 0 auto;
padding: 0;
text-align: center;
border-top: 1px solid #888;
border-bottom: 1px solid #888;
top: 15px;
left: 30px;
height: 100px;
box-shadow: 0 2px 0 #ddd;
}
#banner h2 {
color: #555;
text-shadow: 0 -1px 0 #000;
}
.container {
margin: 0 auto;
padding: 0;
position: relative;
background-color: blue;
}
.blocks {
display: inline-block;
width: 250px;
height: 150px;
background-color: #666;
margin: 25px;
margin-top: 30px;
}