floatさせた画像がdivからはみ出すのを回避する方法
はじめに
divで枠を作ってその中に画像をfloatで挿入した際、テキスト量が少ないと画像が枠からはみ出る事があります。
今回はfloatさせた画像がdivからはみ出すのを回避する方法になります。
目次
ひとまずfloatで画像を配置してみる
まずはdivで黒背景(#000)の枠を作り、その中にfloatで画像を挿入します。
HTML
<div class="box"> <img src="画像のパス" alt=""> <p>テキストテキストテキスト~</p> </div>
CSS
.box {
background: #000;
padding: 15px;
box-sizing:border-box;
}できあがったもの

祇園精舍の鐘の声、諸行無常の響きあり。娑羅双樹の花の色、盛者必衰の理をあらはす。
このように画像をfloatさせた際、テキスト全体の縦幅より画像の縦幅が大きいと、divから画像がはみ出ます。
疑似要素を追加して、画像がはみ出すのを回避する
画像がはみ出すのを回避するには、CSSに以下の疑似要素div:afterを追記します。
HTMLの変更は無いため割愛します
CSS
//上記のCSSに以下を追記
.box:after {
display:block;
content:'';
clear:both;
}できあがったもの

祇園精舍の鐘の声、諸行無常の響きあり。娑羅双樹の花の色、盛者必衰の理をあらはす。
このように、テキスト全体の縦幅より画像の縦幅が大きくても、divから画像がはみ出なくなります。
