6

CSSでnostyleクラスを作りたいです。私のスタイルシートに書かれたCSSは、スタイルが必要ないこのクラスと重ねることができます。以下のコードを使用しましたが、機能していません。

<style type="text/css">
  .nostyle {
          margin: 0;
          padding: 0;
          border: 0;
          outline: 0;
          font-size: 100%;
          vertical-align: baseline;
          background: transparent;
        }   
   </style>
4

4 に答える 4

4

他の規則がクラスをオーバーライドする CSS 特異性規則に苦しんでいる可能性があります。

検討:

<div id="col1">
    <div class="rule1 another-rule">
        Test
    </div>
</div>

<style>
    .rule1 {
        margin: 0;
    }

    #col1 .another-rule {
        margin: 10px;
    }
</style>

この場合、スタイル付き DIV のマージンは常に 10px です。これは、ルールの重みが大きいためです。

これを克服するには、CSS の !important 機能を使用できます。試す

.nostyle {
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      outline: 0 !important;
      font-size: 100% !important;
      vertical-align: baseline !important;
      background: transparent !important;
    }   

CSS 特異性がどのように機能するかについての優れたガイドは次のとおりです。

CSS の特異性: 知っておくべきこと

于 2013-11-04T14:03:42.113 に答える
3

スタイルが上書きされている可能性があります。各スタイルの後に追加!importantして、重みを大きくします。

CSS は次のようになります。

.nostyle {
    margin: 0 !important;
    padding: 0 !important;
    ...
}
于 2013-11-04T14:03:23.323 に答える
0

クラスなしでそれを行うことができますが、css は次のようにする必要があります。

 <style type="text/css"> 
 a,a:hover,div,p,font,table,li,ul,ol {
      margin: 0;
      padding: 0;
      border: 0;
       outline: 0;           font-size: 100%;
      vertical-align: baseline;
       background: transparent;
     }       </style>
于 2013-11-04T14:06:50.240 に答える