CSS Program

floatが効かない…CSSではまったので対処法などまとめ

投稿日:

CSS float

あれー、float:left;って指定しているのに全然効かないよ…?と、少しはまってしまった。いろいろ試したけどなかなか正解に辿り着けなかったので、対処を載せておきます。

floatに限らず、

CSSで指定した効果がうまく反映されない!

どうやって解決すればよいかわからない!

という方に、参考にしていただけるかと思います。

floatプロパティの意味と使い方

まずは、floatの意味と使い方について説明します。

floatの意味

floatは、浮かぶ、という意味があります。コーヒーフロート、コーラフロートのフロートと同じ意味ですね。

CSSでは、「要素を浮かせて、横並びにする」ことができます。

HTMLを普通に書くと、要素は縦に並びます。ですが、floatを使うと横に配置することができるので、レイアウトの幅が広がります。

floatの使い方

floatは、float:値の形式で記述できます。

float:left(左寄せで横並びにします)

float:right(右寄せで横並びにします)

float:inherit(親要素のfloatを継承する)

当ブログのサイドバーもfloatが使われています。

デベロッパーツール float

float:rightなので右側に寄っていますね。

floatの難しいところは、ただ横並びにするだけではなくて、「浮かせて」横並びにするところです。

お絵描きする方だと、レイヤーの考え方がイメージ湧きやすいかと。

2枚のレイヤーがあって、通常は下の層に要素が配置されるけど、floatを使うと、上の層に配置されるイメージです。

こちらのサイトの図がわかりやすかったです。

フッターを3カラムにしたかったがfoatが効かない

このブログのフッター(一番下のところ)を3カラム(タテ3列)に分割するために、floatを使った(正確には、他の方のブログにあるソースをコピペした)のですが、これがうまくいきませんでた。

いろいろ試して迷走した結果、解決することができました。

まずは私が作成したソース

おかしかったプログラムです。原因がわかりやすいように抜粋しています!

CSS(style.css

HTML(footer.php

早い人だと、これくらい余裕で気付くと思います。でも、私は「コピペしてるしソース間違うとかないでしょ。」
という考えで、見逃してしまった箇所があります。

画面はこんな状態でした。思いっきり縦並びです。

float 効かない

確認したこと

F12を押して出てくるデベロッパーツール。これで原因を探りました。

問題になっている要素をつついて、その要素にかかっているCSSを確かめます。

今回確認したけどだめだったのは以下のとおりです。普通ならこれを確認すれば解決できます。

  • clearプロパティが直前にないか?(clearで横並びを解除できます)
  • 幅に問題はないか?(おさまりきらないと下にずれます)
  • 競合している別の記述がないか?(セレクタの書き方や、書いた順番よって無効になっている可能性がある)

何がいけなかったのか

デベロッパーツールでよく確認したところ、該当のフッター要素に、floatのCSSが全くかかっていませんでした。

そして、HTMLとCSSの記述をもう一度よく見なおしたときに、以下に気が付いたのです。

  • #footer>aside ulと書いてある
  • idがfooterの要素内にasideが無い

#はidを意味します。>は、子要素を意味し、スペースは子孫要素を意味します。

id=”footer”の子要素asideの子孫要素ulに対して適用、という意味です。

そうです。コピペする場所を間違えていたんです。footer要素内に配置しないといけなかったのに、footer-in要素内にいれてしまったんです。

以下のソースで解決しました。思い込みはよくないですね。それと何も考えないコピペも。これから気を付けなくては。

ちゃんと横並びになりました!

float left

私がソースをコピペさせていただいたのは、きにぶろぐ.comさんさんでした。stinger8のカスタマイズ方法がいろいろあり、参考にさせていただいています。

かなり丁寧な説明で、私が貼り方をミスったのは、ありえないレベルだったと思います。(反省)

以上です。floatを使いこなして、いろいろなデザインに挑戦してみましょう!

ではまた!

-CSS, Program
-,

執筆者:

関連記事

簡単!ブログ記事にプログラムをプラグイン無しで埋め込む方法

プログラミングの記事を書きたいな。 記事にソースコードを埋め込みたいんだけど、どうしたらいいんだろう? できればプラグイン無しでできるといいんだけど。 WordPressのプラグインという選択肢もあり …

【コピペOK】CSSで会話形式の吹き出しを作る方法

他の人のブログをいろいろ見ていると、吹き出しを使って会話形式で進めていくスタイルに出会うことがあります。 文字だけの文章に比べて、とても読みやすく、自分も使ってみたい!と思ったことはないでしょうか? …

もしもアフィリエイトのかんたんリンクをカスタマイズ!ボタン色やテキスト変更など

もしもアフィリエイトのかんたんリンク、とても便利ですよね。 商品検索して、選んで、スクリプトを記事に貼りつけるだけで、カエレバのようなボタン付きリンクが作成できます。 ですが、ボタンが全部同じ色だった …

プロフィール

運営者:シオリ

法学部卒→システムエンジニア(SE)としてSI企業に9年勤めてます。結婚後、共働きで仕事と家事に追われる毎日に疑問を持ち、ひとり働き方改革中。
プログラミングとイラストとおいしいご飯とゲームが好きな超インドア派です。
アイキャッチなどのイラストはスマホの無料アプリ使って自分で描いています。

当ブログは、私が勉強したことや日々の暮らしの中で考えたことなどを発信する雑記ブログです。同じ壁にぶつかっている方のお役にちょっとでも立てればうれしいです。
お仕事依頼・ご相談はお問い合わせまたはツイッターDMからどうぞ!