1

行クラスのデフォルトの左右のマージンをオーバーライドしようとしています

.row .row {
 margin-right: -15px;
 margin-left: -15px;
}

ページには複数のHTMLrowsのようなものがあります

<div class="row row-padded" id="question1"></div>
<div class="row row-padded" id="question2"></div>
<div class="row row-padded" id="question3"></div>

CSS

.row-padded {
  margin-top:15px;
  padding-left:25px;
  padding-top:10px;
  padding-bottom:10px;
}

で上書きするとうまくいきidます。これは1行でうまく機能します

#question1 {
 margin-left:0px;
 margin-right:0px;
}

しかし、これはしません

div[id^='question'] {
    margin-left:0px;
    margin-right:0px;
}

ここに画像の説明を入力

4

3 に答える 3

2
<style>
.row{
 margin-left: 0px;
 margin-right: 0px;
}
</style>

デフォルトのプロパティを上書きするように、これらのコードをページに提供します。

于 2015-11-30T07:54:43.957 に答える
2

特異性がどのように機能するかを理解する必要があります。div[id^='question']オーバーライドしない理由.row .rowは、1 つの要素と 1 つの属性セレクター (クラスと同じ特異性と見なされる) しかないのに対し、後者には 2 つのクラス セレクターがあるためです。 1 つのクラスと 1 つの要素よりも優先度が高くなります。また、ID はクラス セレクターと要素セレクターの両方をオーバーライドすることにも注意してください。

2 番目のセレクターを機能させたい場合は、次を試してください。

div.row[id^='question'] {
 margin-left: 0px;
 margin-right: 0px;
}
于 2013-08-27T13:21:17.883 に答える
0

マージン プロパティを重要としてマークしてみてください。

div[id^='question'] {
    margin-left:0px !important;
    margin-right:0px !important;
}
于 2013-08-27T13:22:44.883 に答える