2013-11-04 3 views
5

Ich möchte eine Nostyle-Klasse in CSS machen. Damit kann jedes in meinem Stylesheet geschriebene CSS mit dieser Klasse überlappt werden, wo ich keinen Stil haben möchte. Ich habe den folgenden Code verwendet, der nicht funktioniert.Machen Sie eine keine Stil-Klasse in CSS

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

Antwort

0

Hinzufügen !important ist eine schlechte Praxis. Sie sollten einen Blick in CSS Priorities werfen. Hier ist eine einfache Liste Prioritäten zu definieren:

  1. !important gewinnt.
  2. Inline
  3. interne
  4. externe

Wenn es Regeln auf dem gleichen Niveau sind Ihre Prioritäten wie folgt:

  1. Die spezifischere Regel gewinnt Beispiel: div span #abc .class
  2. Regel, die gegen Ende geschrieben wird, gewinnt, wenn Regeln gleich spezifisch sind.
+0

"Hinzufügen! Wichtig behindert die SEO Ihrer Website". Das habe ich noch nie gehört. Haben Sie etwas zu verlinken? Ich werde meinen Downvote entfernen, wenn Sie einen guten Link bereitstellen können. – michaelward82

+0

'! Wichtig' behindert den Fluss Ihrer CSS-Deklarationen, was eine schlechte Praxis ist und sollte vermieden werden, es sei denn, dies ist absolut notwendig. Schlechte Praxis -> Hampers SEO. http://stackoverflow.com/questions/3706819/what-are-the-implications-of-using-important-in-css –

+0

Während die Verwendung von! wichtig möglicherweise keine Best Practice in vielen Situationen, hat es keine direkte Beziehung zu SEO. – michaelward82

3

Die Stile werden wahrscheinlich überschrieben. Fügen Sie nach jedem Stil !important hinzu, um ihnen ein größeres Gewicht zu geben.

CSS würde so aussehen:

.nostyle { 
    margin: 0 !important; 
    padding: 0 !important; 
    ... 
} 
4

Sie wahrscheinlich von CSS Spezifität Regeln leiden, wo andere Regeln, die Sie Klasse außer Kraft setzen, da sie spezifisch sind.

Bedenken Sie:

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

<style> 
    .rule1 { 
     margin: 0; 
    } 

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

In dieser Situation wird der Marge auf dem Stil DIV immer 10px ist, weil die Regel mehr ins Gewicht fällt.

Um dies zu umgehen, können Sie die! Wichtige Funktion von CSS verwenden. Versuchen

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

hier ein großer Führer ist, wie CSS Spezifität funktioniert:

CSS Specificity: Things You Should know

0

Sie, dass für keine Klassen tun können, aber Ihre CSS haben mehr wie folgt aussehen:

<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>