floatプロパティ。

CSSに於ける要素の右か左へのフローティング指定・floatプロパティに関する解説です。

floatプロパティとは。

floatプロパティは、要素の右か左へのフローティング指定です。

フローティングとは、通常上から下に配置されるべきボックスを右か左に寄せて配置する事です。

フロートされたボックスに続くコンテンツは、その反対側に廻り込むように流し込まれます。

フローティングの対象となるボックスには明確な横幅が必要となります。

置換要素であれば、明らかな横幅が存在しますが、非置換要素であってもwidthプロパティで横幅を指定する必要があります。

floatプロパティを与えられたボックスの配置。

フローティングには仕様で明確な決まりがありますが、特に重要と思われるものを挙げておきます(以下左フロートの場合ですが、右フロートの場合も左右が入れ替わるだけで同様です)。

  • フローティングされたボックスの上下の余白(マージン)は、他のボックスの上下の余白(マージン)との相殺は行われません。(平成18年 6月28日 追記)
  • 左フローティングでは、親要素の左端をはみ出すようにボックスを配置してはいけません。
    • 左の余白(マージン)の左端をはみ出さないようにします。従って、左の余白(マージン)が正の値を与えられていれば、その分左側が空く事になります。(平成18年 6月28日 追記)
  • 左フロートされたボックスが複数ある場合、後方のボックスは先にフロートされたボックスの右に並べるか、下に並べなければなりません。
  • 左フロートされたボックスの右端は、同じ高さにある右フロートされたボックスの左端より右にあってはいけません。すなわち、左フロートされたボックスは右フロートされたボックスに重なってはいけません。
  • 左フロートされたボックスが複数ある場合、後方のボックスは先にフロートされたボックスの右に並べる事で親要素の右端をはみ出してはいけません。
  • 複数のボックスを左フロートする場合、なるべく先にフロートされたボックスに並べるようにします。それが出来ない場合でもなるべく上の方に配置するようにします。

つまり、複数ボックスの左フロートでは、左から順にフロートして行って入り切らなくなったら折り返すが、その際にはなるべく高い位置に置かれると覚えておけば良いでしょう。

floatプロパティの扱い。

floatプロパティの書式。

floatプロパティの書式は、以下のようになります。

float:

値としては、以下のものが取れます。

inherit
一番近い上位要素で指定された値を継承します。
none
フロートしません(デフォルト)。
right
右にフロートします。後続のテキストは左に廻り込みます。
left
左にフロートします。後続のテキストは右に廻り込みます。

floatプロパティの記述例。

例えば、画像(<img>要素)を左にフロートしたい場合は、

img {
    float: left;
    }

と記述します。

floatプロパティに関する注意事項。

floatプロパティの実装上の注意。

ネットスケープ 4.xでの注意事項。

ネットスケープ 4.xではfloatプロパティと以下のプロパティの組合せで表示が崩れます。

オペラ 6.xでの注意事項。

オペラ 6.xでは、非置換要素をフロートする場合にはwidthプロパティで横幅を指定しないと、100%の横幅のボックスをフロートしてしまう場合があります。

この場合、横スクロールが発生する事になるでしょう。

WAP 2.0での注意事項。

WAP 2.0では、floatプロパティは必須ですが、オープンウェーヴ社のWAP 2.0 ウェブブラウザには実装されておりません

関連項目。


しらぎくのウェブサイト作成入門サイトマップ