CSS・CSSリファレンス・WEBやぁ、眠りに入る速さはボルト級のユトピ(@yutopi60pa)だよ。今回解説するCSSプロパティはサイトのレイアウトをするときによく使われてる「float」だよ!ふわふわな感じのCSSだよ!!僕も頭のなかいつもふわふわ!ということで今回はCSSプロパティの「float」について解説していきます。まとめfloatとは?CSSプロパティの「float」は日本語訳で「浮く」という意味。効果は指定した要素を右または左に寄せることができます。余白のできた反対側には、そのあとに続く内容を回り込ませることができます。指定方法は以下の3つです。left・・・左に寄せるright・・・右に寄せるnone・・・どちらにも寄せない実際にやってみましょう。どっちにも寄らないよ!テキストは回り込まないよ!テキストは回り込まない!テキストは回り込まない!テキストは回り込まない!テキストは回り込まない!テキストは回り込まない!テキストは回り込まない!テキストは回り込まない!テキストは回り込まない!テキストは回り込まない!これが基本的なfloatの使い方です。leftやrightを指定するとテキストが反対側へ回り込んでいるのがわかりますね。floatを指定された要素とテキストがくっついていますのが、そこは適宜marginなどで余白を設定してあげれば見やすくなりますね。noneの場合はどっちにも寄らないと書きながら左に寄っていますね。これはもともとの要素の位置なのでこれで正常です。floatで左に寄せた場合と違うのは、そのあとに続いているテキストが回り込んでいないこと。これは見えない要素の余白が幅いっぱいに広がっているため、テキストが回り込む場所が無くこのような現象が起きています。floatをしてあげるとその余白も無くなるので、テキストが回り込めるというわけです。floatを指定する要素を画像にすると、本のようなレイアウトにすることも可能です。熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!熱意が足りないぞ!!こんな感じで画像にfloatを指定すると画像の隣に文字が回り込み、本みたいなレイアウトになるので非常に読みやすくなりますね。続いてはfloatの応用例と、その問題点の解説をしていこうと思います。最初の方にも書きましたが、floatプロパティはCSSのレイアウトでよく使われています。サイト全体のレイアウトの場合。このような一般的なサイトをCSSでレイアウトするとき、「メイン」のところに「float:left;」を指定してあげます。するとメインは左に寄り、サイドバーは左に回り込んできますので、画像の通りのレイアウトが実現できるということです。ちなみに当ブログをPCで見た場合、右サイドバーはCSSの「float:right;」を使って右に寄せています。このようにfloatプロパティはサイト全体のレイアウトでもよく使われています。この場合メインとサイドバーにそれぞれfloatを指定しもいいの?全然OK!でもどっちも両端に寄ってしまって、メインとサイドバーの間が無駄に大きくなったりもするから、そこは必要に応じて調整した方がいいね。他にも<ul>タグを通常の縦並びから、横並びにしたいときは<li>に「float:left;」を指定すると上手く横に並んでくれます。びになった!このようにうまく横に並んでくれましたね。いった裏技的なテクニックでfloatは頻繁に使われています。実はfloatにはちょっとした問題点もあるんです。floatプロパティの問題点それはfloatを指定した要素の”親要素の高さ”が消滅してしまうこと。下の画像をご覧ください。画像のように「#main」と「#main2」にfloatを書けると、その親要素である「#wrap」の高さが消えています。ちなみに上の方のfloatのデモでもこの現象が起きています。デモを表示している場所はcssで高さを指定しているので、その高さ分は確保されていますが、それを超えるとはみ出てしまいますね。この現象の理由としては、floatは最初に言ったように「浮かす」という効果があります。浮かせた上で、右や左に寄せています。要素が浮いた状態だと、その親要素である#wrapはfloatを指定された子要素の高さを認識できず、高さが無くなってしまっているのです。子要素がfloatしていると、親要素は高さ的に子要素を持っていないのと同じ意味になります。高さがないと、そのあとにくる要素が上へと詰まってしまい、レイアウトが崩れる原因になりますね。このようにfloatには特有の問題点が存在しています。ちなみにその問題を解決してくれるてclearプロパティなどを使った3通りのテクニックがあります。そのまとめについてはまた後日記事にしたいと思いますので、少々お待ちください。まとめいかがでしたか?このようにfloatプロパティはレイアウトするうえで非常に重要なものだということが分かりましたね。加えて独自の問題点があるのも理解できたと思います。このfloatは少々CSSビギナーだと扱いが難しいところがありますが、特有の癖などを理解できれば使いこなすこともできるはずです。ここは面倒がらずに実践しながら覚えていってくださいね。質問や意見がありましたらお気軽にツイッターの方へどうぞ。コメントをキャンセルメールアドレスが公開されることはありません。