それなのに「overflow」の値に「hidden」を入れてしまうと、はみ出た部分は表示しない。 ということになり高さのない親要素は表示されなくなってしまうのではないでしょうか?
この部分の疑問に対する答えが
「overflowプロパティでvisibleキーワード以外を指定すると、新しいブロックの書式コンテキストを確立することできます。」
ということなのではないでしょうか?
※ブロック整形コンテキストとは
こちらの仕様を見る限り、「ブロック書式コンテキスト」とは要するに「ブロックレベルのボックス」という意味に近いのかな?と思われます。正確な仕様や挙動についてはちょっと表現が難しくて理解し難い部分もありますが、要するに「overflowにvisible以外を指定すると、通常のブロックレベルのボックスと同等の挙動となる」という風に理解すればよいのではないでしょうか?(違ったらすみません)
通常のブロックレベルの要素であれば、子要素の高さに応じて自動的にheightが決まるので、
clearfixされたのと同じような表示になるのも納得が行くと思います。
たとえhidden;が指定されていてもheight自体がautoなら中に収まっているコンテンツははみ出さないので非表示にされることも無いですよね。
値はvisible以外なら良いのでしょうが、autoやscrollではおそらく何か不具合があったのでしょう。
結果として簡易clearfix目的でoverflowを使うなら、hidden;がいいよね、ということになったのだと思われます。
ちなみに私はわりとoverflow:hidden;使う派です。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/07 06:00