※ ChatGPTを利用し、要約された質問です(原文:clearfixの存在意義)
clearfixの存在意義とは?
このQ&Aのポイント
clearfixは、HTMLコードを簡潔に保つための便利な方法です。
clearfixは、clear:bothを実行するための余分なタグを書かなくてもレイアウトを正しく表示することができます。
しかし、最近では親要素にoverflow:hiddenを指定する方法がよく使われています。
この間、紹介して頂いたclearfixについて調べました。
clearfixについては賞賛しているサイトが多く、
良いものであるということは理解できました。
その理由が clear:both を実行するための余分な
タグを書かなくても済むという内容でした。
それならばclearfixを実現するためにCSS内で
かなり冗長なコードにするのに疑問を感じました。
そうまでしてもHTMLは簡潔に書くべきなのかと。
そこでもう少し調べていたら次のサイトに到達しました。
ここでは clear:both でのレイアウトの乱れを指摘しています。
http://webdesignrecipes.com/css-tips-for-beginner-ie7/#s4
最もらしい説明で、やはり clearfix を賞賛しています。
しかし、その後の説明で親要素に overflow:hidden を
あてるのが流行?なのだそうです。
かくいう私どものソースも偶然にも overflow:hidden になってます。
これを clearfix に置き換えるべきか悩んでいます。
お礼
ちょっと早起きしてチェックさせてもらってます。 浮動化要素でないとは私の既成概念を壊されましたよ。 そもそも各パーツはレイヤのように考えてましたので、 浮動化のしっかりした定義があるには知りませんでした。 inline-blockはclearfixを探していた時に見つけました。 displya:tableも比較的新しいようですね。 IE6は諦めさせてもIE7は無理でしょうから おとなしくフロートでの段組を考えることにします。 clearfixは埋もれていくべき技術であることは承知しました。 非常に丁寧に技術的解説をしていただき助かりました。