Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
- トップページ
- CSSプロパティ辞典
- float
TechAcademy(テックアカデミー)
当サイト著者の桜舞春人もメンター(先生)としてちょろりと参加しているTechAcademyさんです。爆速で技術を習得して結果を出したいと考える方に超絶おすすめです。
紹介記事はこちらへどうぞ。
運営及び開発費用ご支援のお願い
当サイト(wp-p.info)の情報はお役に立ちましたでしょうか。当サイトでは運営及び開発費用ご支援の募集をさせて頂いております。よろしければご支援についてご検討頂けませんでしょうか。何卒宜しくお願い致します。
float
要素を左右に寄せる形で配置します。
サンプルコード
div.test { float: none;} div.test1 { float: left;} div.test2 { float: right;}
指定可能な値一覧
値 | 概要 |
---|---|
none | 通常の要素として配置します。この『none』が初期値です。 |
left | 要素を左寄せで配置します。続く要素はその右側に配置されます。 |
right | 要素を右寄せで配置します。続く要素はその左側に配置されます。 |
ブラウザでの表示結果
<div style="float: left; width: 200px; background-color: #ff0;">ここはdiv要素です。『float: left』、『width: 200px』と指定しています。</div> <p>ここはp要素です。手前にいる要素が浮動要素のため、このテキストは回りこんで配置されます。テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト。</p>
<div style="float: right; width: 200px; background-color: #ff0;">ここはdiv要素です。『float: right』、『width: 200px』と指定しています。</div> <p>ここはp要素です。手前にいる要素が浮動要素のため、このテキストは回りこんで配置されます。テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト。</p>
<div style="float: left; width: 200px; background-color: #ff0;">ここはdiv要素です。『float: left』、『width: 200px』と指定しています。</div> <div style="float: right; width: 200px; background-color: #00ffff;">ここはdiv要素です。『float: right』、『width: 200px』と指定しています。</div>
対応ブラウザ
IE6 | IE7 | IE8 | IE9 | IE10 | IE11 | Safari | Chrome | Firefox | Opera |
---|---|---|---|---|---|---|---|---|---|
iPhone Safari | Android2系 標準ブラウザ | Android4系 標準ブラウザ |
---|---|---|
概要
要素を左右に寄せる形で配置します。『float』プロパティが『none』以外に指定された要素は『浮動要素』と呼ばれ、浮動要素とされた要素は全てブロックレベル要素として扱われます。要素を浮動要素とさせたい場合は必ず『width』プロパティを『auto』以外の値に指定する必要があります。『width』プロパティが『auto』の場合は包含ブロックと同じ横幅となってしまうため、浮動要素として期待されるような配置となりません。
<div style="float: left; background-color: #ff0;">ここはdiv要素です。『float: left』と指定していますが『width』プロパティの指定がないため、通常の浮動要素としての配置となりません。</div> <p>ここはp要素です。手前にいる要素に『width』プロパティの指定がないため、このテキストは回りこまれた形での配置となりません。</p>
『float』プロパティに『left』と指定された要素は包含ブロックの左側に寄せる形で配置されます。続く要素は右側に回りこむ形で配置されます。
<div style="float: left; width: 200px; background-color: #ff0;">ここはdiv要素です。『float: left』、『width: 200px』と指定しています。</div> <p>ここはp要素です。手前にいる要素が浮動要素のため、このテキストは回りこんで配置されます。テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト。</p>
『float』プロパティに『right』と指定された要素は包含ブロックの右側に寄せる形で配置されます。続く要素は左側に回りこむ形で配置されます。
<div style="float: right; width: 200px; background-color: #ff0;">ここはdiv要素です。『float: right』、『width: 200px』と指定しています。</div> <p>ここはp要素です。手前にいる要素が浮動要素のため、このテキストは回りこんで配置されます。テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト。</p>
通常、『height』プロパティが『auto』となっている親要素は子要素の高さを自身の高さとして算出できますが、浮動要素は通常のドキュメントフローから切り離された形で配置されますので親要素は浮動要素となっている子要素の高さを自身の高さに算出できません。
<p>以下はdiv要素の中に浮動要素となっているdiv要素を配置しています。親のdiv要素(赤枠の要素)は子要素の高さを算出できないため高さが『0』になります。</p> <div style="border: solid 2px #f00;"> <div style="float: left; width: 200px; background-color: #ff0;">ここはdiv要素です。『float: left』、『width: 200px』と指定しています。</div> <div style="float: right; width: 200px; background-color: #00ffff;">ここはdiv要素です。『float: right』、『width: 200px』と指定しています。</div> </div>
これを予防するには、親要素の高さに子要素の高さを直接指定する、『overflow』プロパティに『visible』以外の値を指定する、『clear』プロパティに『both』や『left』、『right』と指定された要素を最後の子要素として配置する、等を行う必要があります。
<p>以下はdiv要素の中に浮動要素となっているdiv要素を配置しています。親のdiv要素(赤枠の要素)に『overflow: auto』と指定し子要素の高さを算出しています。</p> <div style="overflow: auto; border: solid 2px #f00;"> <div style="float: left; width: 200px; background-color: #ff0;">ここはdiv要素です。『float: left』、『width: 200px』と指定しています。</div> <div style="float: right; width: 200px; background-color: #00ffff;">ここはdiv要素です。『float: right』、『width: 200px』と指定しています。</div> </div>
<p>以下はdiv要素の中に浮動要素となっているdiv要素を配置しています。親のdiv要素(赤枠の要素)の最後の子要素に『clear: both』と指定し子要素の高さを算出しています。</p> <div style="border: solid 2px #f00;"> <div style="float: left; width: 200px; background-color: #ff0;">ここはdiv要素です。『float: left』、『width: 200px』と指定しています。</div> <div style="float: right; width: 200px; background-color: #00ffff;">ここはdiv要素です。『float: right』、『width: 200px』と指定しています。</div> <div style="background-color: #0f9; clear: both;">ここはdiv要素です。『clear: both』と指定しています。</div> </div>
その他の手法として、『clearfix』という方法があります。これは親要素の『:after疑似要素』に『clear: both』を指定することで浮動要素の高さを算出できるようにする手法です。
/* 『clearfix』の一例です。以下は必要最低限の記述となっているため、最新のブラウザでしか動きません。ご注意ください。 */ .clearfix:after { content: ""; display: block; clear: both; }
<style scoped> .clearfix:after { content: ""; display: block; clear: both; } </style> <p>以下はdiv要素の中に浮動要素となっているdiv要素を配置しています。親のdiv要素(赤枠の要素)に『clearfix』を使用して子要素の高さを算出しています。</p> <div class="clearfix" style="border: solid 2px #f00;"> <div style="float: left; width: 200px; background-color: #ff0;">ここはdiv要素です。『float: left』、『width: 200px』と指定しています。</div> <div style="float: right; width: 200px; background-color: #00ffff;">ここはdiv要素です。『float: right』、『width: 200px』と指定しています。</div> </div>
そして、浮動要素のマージンの相殺は一切行われません。こちらも合わせてご注意ください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。
TechAcademy(テックアカデミー)
当サイト著者の桜舞春人もメンター(先生)としてちょろりと参加しているTechAcademyさんです。爆速で技術を習得して結果を出したいと考える方に超絶おすすめです。
紹介記事はこちらへどうぞ。
Introduction
当サイトでは有料会員様の募集をしております。現在約431本の記事を公開中です。
有料会員になるとこれら全ての記事が読み放題となります。
お申込み頂ける際はログインまたはアカウント作成後、有料会員件をご購入下されば幸いです。有料会員権はまとめ買いがお得です。
現在の有料会員権一覧sale中!!
30日分980円
月額約980円、日額約32円
90日分通常2940円のところ1980円 (960円OFF)
月額約660円、日額約22円
180日分通常5880円のところ2980円 (2900円OFF)
月額約496円、日額約16円
360日分通常11760円のところ4980円 (6780円OFF)
月額約415円、日額約13円