2013-11-04 49 views
5

我想在CSS中創建一個nostyle類。所以任何寫在我的樣式表中的CSS都可以與這個類重疊,我不想要任何樣式。我使用下面的代碼,這是行不通的。在CSS中創建一個沒有風格的類

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

回答

0

添加!important是一種不好的做法。你應該看看CSS Priorities。 這裏是一個簡單的列表來定義優先級:

  1. !important勝。
  2. 直列
  3. 內部
  4. 外部

如果在同一水平有規則的重點將是如下:

  1. 更具體的規則獲勝EG:div span #abc .class
  2. 在規則具有同等特殊性的情況下,爲最後寫的規則會獲勝
+0

「添加!重要阻礙您的網站的搜索引擎優化」。我從來沒有聽說過這個建議。你有什麼要鏈接到支持這個?如果你能提供一個好的鏈接,我會刪除我的downvote。 – michaelward82

+0

'!important'阻礙了你的CSS聲明的流程,這是一個不好的做法,應該避免,除非絕對必要。 壞習慣 - >禮籃SEO。 http://stackoverflow.com/questions/3706819/what-are-the-implications-of-using-important-in-css –

+0

儘管在很多情況下使用!important可能不是最佳實踐,但它沒有直接與SEO的關係。 – michaelward82

3

樣式可能被覆蓋。在每種風格之後添加!important以賦予它們更大的權重。

你的CSS看起來像:

.nostyle { 
    margin: 0 !important; 
    padding: 0 !important; 
    ... 
} 
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的!重要功能。嘗試

.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 Specificity: Things You Should know

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> 
相關問題