Edited at

親要素と子要素それぞれにfloatをかけてみた


目的

親要素、子要素へのfloatのかかり方を身体で覚える


使ったファイル


  • sample.html

  • sample.css


sample.html

<html>

<head>
<meta charset="utf-8">
<title>test</title>
<link rel="stylesheet" href="sample.css">
</head>
<body>
<div class="red">
<div class="green"></div>
</div>
<div class="blue">他人</div>
</body>
</html>


sample.css

html, body {

height: 100%;
margin: 0;
padding: 0;
}

.red {
background-color: red;
height: 200px;
width: 200px;
}

.green {
background-color: green;
height: 100px;
width: 100px;
}

.blue {
background-color: blue;
height: 150px;
width: 150px;
}



sample.htmlをブラウザで表示すると、こんな感じ

初期状態.png


子(green)にfloatをかけてみる


sample.css

.green {

background-color: green;
height: 100px;
width: 100px;
float: right;
}


すると、

子にfloat.png


親の範囲内でfloatした


次に子(green)のfloatを削除して、親(red)にfloatかけてみた


sample.css

.red {

background-color: red;
height: 200px;
width: 200px;
float: right;
}


すると、

親にfloat.png


親要素のみにfloatをかけたら、子要素も連れてfloatした


結論

親要素にfloatすれば子要素も一緒にfloatする

子要素にfloatすれば親要素の範囲内でfloatする