2011-12-21 9 views
2

なぜHTML5 BoilerPlate、Blueprint、および960.gs CSSフレームワークがClearfixoverflow:hidden以上に使用するのですか?なぜHTML5 BoilerPlate、Blueprint、および960.gsのCSSフレームワークでClearfix overflow:hiddenが使用されるのですか?

なぜoverflow:hiddenが好まれないのですか?毎回clearfixを使用するには、clearfixクラスをhtml要素に追加する必要がありますが、htmlを変更せずにCSSの要素にoverflow:hiddenを追加できます。

overflow:hidden

を使用する例と欠点を教えてくださいは、コンテンツとプレゼンテーションを混合しませclearfixクラスですか?

+0

あなたはHTML5定型句を意味していますか? – PseudoNinja

+0

@ OldCode101はい私は誤ってHTML4を書いた –

+0

私はここで素敵な答えを見つけましたhttp://stackoverflow.com/questions/2373544/clearfix-vs-overflow –

答えて

2

質問で質問に答えてもらいましょう(そして回答してください)。

Q:なぜCSSでクラスを使用しますか?

A:再使用可能なコードを作成できるようにする。

Q:これは素晴らしいことですが、この状況にどのように適用されますか?

A:次のブラウザエンジンがリリースされたとき(おそらくIEがすべてを壊してしまいます)、オーバーフロー:隠されていなくても、それを使って作成したすべてのインスタンスを入れ替えなければなりません。一方、クラスを使用していた場合は、コードを1か所で更新するだけで済みますし、すべてがうまくいきます。

tl; dr;将来の校正。

+2

ブラウザは何も「オーバーフロー:隠された」という基本的なことを打破するつもりはありません。あなたの答えは意味をなさない。 – thirtydot

+0

決して?無形資産の確実性を書くのは難しい。 – PseudoNinja

+0

この動作はCSS仕様で定義されていますが、魔法のハックではありません。これを読んでください:http://www.yuiblog.com/blog/2010/05/19/css-101-block-formatting-contexts/。 – thirtydot

3

.clearfix-classには単にoverflow:hiddenが含まれているとは限りません。いくつかのケースではは、のオーバーフローを非表示にしたくないが、それでも要素自体をクリアしたいからです。

あなたのHTML全体にclass = "clearfix"を使用することについては、私はそれが "プレゼンテーションをコンテンツとミキシング"していることは間違いありません。

私は個人的に私はすべてのクラスを使用する必要がないようにSASSを使用します。 SASSのミックスインで、私は単純に行くことができます:

#foo { 
    @include clearfix; 
} 

そして、まだは、1つの場所からすべての私のclearfixのスタイリングを変更することの利点を持っています。

関連する問題