div#footer
は、div#navigation{float:right}
の領域しか認識しない理由はわかりません。divは浮動小数点の寸法をとるのはなぜですか?
float要素は通常のフローから取り出されるため、div#footer
はfloat:right
とfloat:left
の両方の要素を無視する必要があります。
私はdiv#footer
にclear:both
を追加しようとしていないのです。私はちょうどそれが起こった方法が不思議です。
body {
margin: 0;
padding: 0;
background: #ccc;
}
#container {
width: 600px;
margin: 0 auto;
}
#header {
padding: 30px;
background: #bbb;
}
#content {
float: left;
width: 460px;
background: #fff;
}
#navigation {
float: right;
width: 140px;
height: 200px;
background: #eee;
}
#footer {
background: #aaa;
padding: 10px;
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>CSS Floats 101</title>
</head>
<body>
<div id="container">
<div id="header">
<h1>Header</h1>
</div>
<div id="content">
<p>
Proin vel ante a orci tempus eleifend ut et magna. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus luctus urna sed urna ultricies ac tempor dui sagittis. In condimentum facilisis porta. Sed nec diam eu diam mattis viverra. Nulla fringilla, orci ac euismod semper, magna diam porttitor mauris, quis sollicitudin sapien justo in libero. Vestibulum mollis mauris enim. Morbi euismod magna ac lorem rutrum elementum. Donec viverra auctor lobortis. Pellentesque eu est a nulla placerat dignissim. Morbi a enim in magna semper bibendum.
</p>
</div>
<div id="navigation">
navigation
</div>
<div id="footer">
Footer
</div>
</div>
</body>
</html>
私はdiv#footer
だけdiv#navigation{float:right}
で撮影した空間を認識する理由を理解しません。
float要素は通常のフローから取り出されるため、div#footer
はfloat:right
とfloat:left
の両方の要素を無視する必要があります。
'clear:both'を使ってフロートをクリアする必要があります。 – Harry
@ハリー私は明確に追加しようとしていません:div#footerの両方に。私はちょうどそれが起こった方法が不思議です。 –
は、このCSSのトリックの記事をチェック - の要素を浮かべている別の要素の隣のスペースに水平方向に収まることができる場合https://css-tricks.com/almanac/properties/c/clear/ – Harry