CSSスタイルでfloatされる範囲を現役エンジニアが解説【初心者向け】

初心者向けにCSSスタイルでfloatされる範囲について解説しています。要素を横並びに配置する際にはfloatを使用します。floatの基本の書き方、使用時に生ずる可能性のある問題点と対処法について学びましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

CSSスタイルでfloatされる範囲について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

CSSについてそもそもよく分からないという方は、CSSの書き方について解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Webデザイン講座のCSSカリキュラムをもとに執筆しています。

 

田島悠介

今回は、CSSに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

CSSスタイルでfloatされる範囲について詳しく説明していくね!

大石ゆかり

お願いします!

 

floatを使う場面

画像と説明文を横並びにする時に、floatを使用します。また、画像を一斉に並べる時にもfloatが使用されていました。

See the Pen
2020-01-20-sample01
by YOHEI INAI (@yohei_inai)
on CodePen.

対象の要素をfloatにて指定方向に寄せてから、後続の要素を回り込ませて、横並びを実現しています。

See the Pen
2020-01-20-sample02
by YOHEI INAI (@yohei_inai)
on CodePen.

5個の画像の幅を全て20%に定義します。そして、floatを使用して指定方向に寄せることにて、親要素の最大幅まで横並びにできます。

 

floatを使った時のよくある問題点と対処方法

ここでは誰もが一度はつまずく代表的な課題とそれに対する対処法を解説していきます。

floatの対象になった子要素も含める親要素は、正確に高さを算出できない

floatの対象として寄せられた要素は、周囲の要素とは異なる軸の扱いにてブラウザの技術に管理されることになります。そのため、親要素は、floatの対象として寄せられた要素を識別することができず、他にもあるfloatの対象になっていない要素からしか親要素の高さの計算に使用できません。

簡素な説明としては、親要素は、floatの対象となった子要素の高さを含めれません。

See the Pen
2020-01-20-sample03
by YOHEI INAI (@yohei_inai)
on CodePen.

上記のサンプルコードは、高さを揃えるために、floatの対象になった子要素と親要素のそれぞれにheightとして300pxを定めています。この結果、高さが揃っていますので、背景色なども正常に表示されます。 その例のサンプルが下記です。

See the Pen
2020-01-20-sample04
by YOHEI INAI (@yohei_inai)
on CodePen.

下記のサンプルコードは、親要素がfloatの対象外の子要素しか識別していない例です。

See the Pen
2020-01-20-sample05
by YOHEI INAI (@yohei_inai)
on CodePen.

 

floatの対象になった子要素も含める親要素の高さを正確に算出させる

See the Pen
2020-01-20-sample06
by YOHEI INAI (@yohei_inai)
on CodePen.

常に高さを定義するのではなくて、clearfixと呼ばれる手法を使用して、正確な高さを自動的に算出できる状態にできます。

 

[PR] HTML/CSSで挫折しない学習方法を動画で公開中

floatされる範囲を正しく知ってスタイルしてみよう

前述の背景色を設定した例にて、floatの範囲を確認できます。floatの対象になった子要素を含める親要素にclearfixを設定することにて、正常的な表示になります。

 

監修してくれたメンター

井内洋平

TechAcademyの現役メンター。

元Web Developerで、趣味は貯金、節税対策、投資信託、株式投資、FXなど多岐にわたる。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは初心者でも、最短4週間でオリジナルWebサイトを公開できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。