30

以前の質問からhttp://jsfiddle.net/8p2Wx/2/を取得しましたが、次の行が表示されます。

.cf:before,
.cf:after {
    content:"";
    display:table;
}

.cf:after {
    clear:both;
}

奪うcontent:""と効果が損なわれ、なぜ必要なのかわかりません。

content空の要素:after:before疑似要素を追加する必要があるのはなぜですか?

4

3 に答える 3

29

生成されたコンテンツのスタイルを設定するには、そのコンテンツを定義する必要があります。コンテンツが本当に必要ない場合は、スタイルを設定するための追加の「非表示要素」だけを使用して、空の文字列(content: '')に設定し、スタイルを設定できます。

これを自分で確認するのは簡単です:http://jsfiddle.net/mathias/YRm5V/

ちなみに、あなたが投稿したスニペットはマイクロクリアフィックスハックです。これはここで説明されています:http://nicolasgallagher.com/micro-clearfix-hack/

2番目の質問については、一部の古いブラウザーでスタイルを設定できるようにするには、HTML5 shiv(JavaScriptの小さな部分)が必要です。<nav>

于 2012-03-07T10:45:09.453 に答える
4

CSS仕様として。状態、:afterおよび:before疑似要素は、propの場合は生成されません。content'normal'および'none'以外の値に設定されていない:http ://www.w3.org/TR/CSS2/generate.html#content

content初期値は「normal」であり、「normal」は:beforeおよび:after疑似要素に対して「none」に計算されます。

于 2013-08-15T18:39:23.067 に答える
0

CSSにはcontentというプロパティがあります。疑似要素:afterおよび:beforeでのみ使用できます。疑似セレクター(コロン付き)のように記述されていますが、実際にはページ上に存在するものを選択するのではなく、ページに新しいものを追加するため、疑似要素と呼ばれます。

より良い説明についてはこれを参照してください:

  1. Cssコンテンツ1
  2. Cssコンテンツ2

そしてnav要素は:

HTML 5の新しい要素の1つは、リンクをグループ化できる要素です。これにより、よりセマンティックなマークアップと、スクリーンリーダーに役立つ可能性のある追加の構造が得られます。この記事では、それを使用する方法と場所、および仕様の定義に関するいくつかの予約について説明します。

  1. Html5タグ
于 2012-03-07T10:51:27.653 に答える