以前の質問からhttp://jsfiddle.net/8p2Wx/2/を取得しましたが、次の行が表示されます。
.cf:before,
.cf:after {
content:"";
display:table;
}
.cf:after {
clear:both;
}
奪うcontent:""
と効果が損なわれ、なぜ必要なのかわかりません。
content
空の要素:after
と:before
疑似要素を追加する必要があるのはなぜですか?
以前の質問からhttp://jsfiddle.net/8p2Wx/2/を取得しましたが、次の行が表示されます。
.cf:before,
.cf:after {
content:"";
display:table;
}
.cf:after {
clear:both;
}
奪うcontent:""
と効果が損なわれ、なぜ必要なのかわかりません。
content
空の要素:after
と:before
疑似要素を追加する必要があるのはなぜですか?
生成されたコンテンツのスタイルを設定するには、そのコンテンツを定義する必要があります。コンテンツが本当に必要ない場合は、スタイルを設定するための追加の「非表示要素」だけを使用して、空の文字列(content: ''
)に設定し、スタイルを設定できます。
これを自分で確認するのは簡単です:http://jsfiddle.net/mathias/YRm5V/
ちなみに、あなたが投稿したスニペットはマイクロクリアフィックスハックです。これはここで説明されています:http://nicolasgallagher.com/micro-clearfix-hack/
2番目の質問については、一部の古いブラウザーでスタイルを設定できるようにするには、HTML5 shiv(JavaScriptの小さな部分)が必要です。<nav>
CSS仕様として。状態、:afterおよび:before疑似要素は、propの場合は生成されません。content
'normal'および'none'以外の値に設定されていない:http ://www.w3.org/TR/CSS2/generate.html#content
content
初期値は「normal」であり、「normal」は:beforeおよび:after疑似要素に対して「none」に計算されます。
CSSにはcontentというプロパティがあります。疑似要素:afterおよび:beforeでのみ使用できます。疑似セレクター(コロン付き)のように記述されていますが、実際にはページ上に存在するものを選択するのではなく、ページに新しいものを追加するため、疑似要素と呼ばれます。
より良い説明についてはこれを参照してください:
そしてnav要素は:
HTML 5の新しい要素の1つは、リンクをグループ化できる要素です。これにより、よりセマンティックなマークアップと、スクリーンリーダーに役立つ可能性のある追加の構造が得られます。この記事では、それを使用する方法と場所、および仕様の定義に関するいくつかの予約について説明します。