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から画像がはみ出なくなります。