31

*{ margin:0; padding:0 }CSS Resetがすべてに適用されているレガシープロジェクトに取り組んでいます。さて、私の新しいコードは Normalize.css に依存しているため、それは必要ありません。これは大きな問題ではありませんでしたが、場所によっては両方のスタイルを使用する必要があります。

CSS のリセットを解除するにはどうすればよいですか? 私は*{margin:auto}うまくいくことができました。パディングについても同じではありません。パディングをリセットする同等の方法はありますか。これを解決するにはどうすればよいですか?

4

5 に答える 5

34

autoプロパティの有効な値ではありません。できることは、宣言からpadding取り出すことだけです。それ以外の場合は、それぞれのプロパティ ブロックに割り当てるだけです。padding: 0;*padding

ブラウザpadding: 0;よりも削除すると、要素にデフォルトのスタイルが適用され、予期しないクロス ブラウザの配置オフセットが数ピクセル分与えられます。そのため、パディングをオーバーライドする場合よりも、次のような別のルールを使用して割り当てる方がよいでしょう。* {}padding: 0;*

.container p {
   padding: 5px;
}
于 2013-08-31T07:14:52.973 に答える
3

サポートされている最も簡単な解決策は、マージンを使用することです

.element {
  display: block;
  margin: 0px auto;
}

または、このマージンが適用されている要素の周りに 2 つ目のコンテナーを使用します。padding: 0px autoこれは、それが存在した場合の効果をいくらかもたらします。

CSS

.element_wrapper {
  display: block;
  margin: 0px auto;
}
.element {
  background: blue;
}

HTML

<div class="element_wrapper">
  <div class="element">
    Hello world
  </div>
</div>
于 2015-01-27T16:25:20.177 に答える
2

* セレクターをリセットが必要な特定の領域に限定する必要があります。.legacy * { }など

于 2013-08-31T07:17:02.023 に答える
0

あなたの目標がすべてをリセットすることである場合、@ Björnの答えはあなたの目標であるはずですが、次のように適用されます:

* {
  padding: initial;
}

元の reset.css が同じ重みを持つ必要があり、初期値として各ブラウザーのデフォルトのパディングに依存する必要があります。

于 2019-03-12T16:06:11.753 に答える