2

div.classブループリント CSS フレームワークのリンクされたコードには、セレクターとセレクターのみに対して定義されたスタイルがあり.classます。これは冗長ではありませんか?または、クラスを 2 つのセレクターで定義するもっと微妙な理由がありますか?

https://github.com/joshuaclayton/blueprint-css/blob/master/blueprint/src/grid.css (229 ~ 235 行)

/* In case you need to add a gutter above/below an element */
div.prepend-top, .prepend-top {
  margin-top:1.5em;
}
div.append-bottom, .append-bottom {
  margin-bottom:1.5em;
}
4

1 に答える 1

3

興味深い質問です。ブループリントを使用したことはありませんが、 または のいずれかをオーバーライドすることを選択した場合div.prepend-top .prepend-topそのセレクターのスタイルのみがオーバーライドされます。

つまり、次のようにします。

.prepend-top { margin-top: 1em; }

はより具体的なセレクターであり、要素に対して優先されるため、そのクラスの sのスタイルは<div>影響を受けません (依然として 1.5-em の上マージン) のままになります。div.prepend-top<div>

そしてこれを行う:

div.prepend-top { margin-top: 1em; }

divタイプセレクターにより、そのクラスの他の要素のスタイルは影響を受けません。append-bottomクラスについても同様です。

繰り返しますが、私はブループリントを使用していませんが、HTML がどのように構造化されることを期待しているかに関係があると思います。

于 2010-12-27T10:19:42.890 に答える