2013-11-04 12 views
5

Voglio fare una classe nostyle in CSS. In modo che qualsiasi css scritto nel mio foglio di stile possa essere sovrapposto a questa classe, in cui non voglio alcuno stile. Ho usato il codice qui sotto, che non funziona.Creare una classe di stile in CSS

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

risposta

0

L'aggiunta di !important è una cattiva pratica. Dovresti dare un'occhiata a CSS Priorities. Ecco un elenco semplice per definire le priorità:

  1. !important vittorie.
  2. linea
  3. interno
  4. esterno

Se ci sono delle regole allo stesso livello le vostre priorità saranno le seguenti:

  1. La regola più specifica vince EG: div span #abc .class
  2. La regola scritta verso la fine vince dove le regole sono ugualmente specifiche.
+0

"Aggiunta! Importante ostacola la SEO del tuo sito". Non l'ho mai sentito suggerire. Hai qualcosa da collegare per eseguire il backup di questo? Toglierò il mio downvote se riesci a fornire un buon link. – michaelward82

+0

'! Important' ostacola il flusso delle dichiarazioni CSS che è una cattiva pratica e dovrebbe essere evitato a meno che non sia assolutamente necessario. Cattiva pratica -> Hampers SEO. http://stackoverflow.com/questions/3706819/what-are-the-implications-of-using-important-in-css –

+0

Mentre l'uso di! important potrebbe non essere una buona pratica in molte situazioni, non ha relazione al SEO. – michaelward82

3

Gli stili vengono probabilmente sovrascritti. Aggiungi !important dopo ogni stile per dare loro un peso maggiore.

il CSS sarà simile:

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

Siete probabilmente affetti da regole di specificità CSS dove altre norme sostituiscono voi di classe, perché sono più specifici.

consideri:

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

<style> 
    .rule1 { 
     margin: 0; 
    } 

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

In questa situazione, il margine sul DIV stile è sempre 10px perché la regola ha più peso.

Per risolvere questo problema, è possibile utilizzare la! Funzione importante del CSS. Prova

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

Ecco una grande guida per il funzionamento Specificità CSS:

CSS Specificity: Things You Should know

0

si può fare per classi, ma il CSS deve guardare più simile a questo:

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