2011-03-07 75 views
83

基本上我有兩個外部的CSS在我的頁面。如何取消css屬性?

第一個Main.css包含所有樣式規則但我沒有訪問它,因此我無法修改它。我可以訪問第二個文件Template.css,所以我需要覆蓋的值template.css

這很容易讓我改變價值,但我該如何完全刪除一個屬性?

贊說一個類.c1height: 40px;,我該如何擺脫這個高度屬性?

+5

我很驚訝,似乎有沒有成爲一個明顯的重複這還沒有。 – 2011-03-07 10:49:46

+1

可能有很多措辭,重複可能很難找到,但也可能是一件好事,因爲這將意味着更多的人可以通過搜索找到答案 – 2011-03-07 10:53:21

+1

@Nathan肯定,但它是好的如果有人指出,所以後代可以看到關於主題 – 2011-03-07 10:56:34

回答

123

您必須將每個單獨的屬性重置爲其默認值。這不是很好,但根據您提供的信息,這是唯一的方法。

在你的榜樣,你會怎麼做:

.c1 { 
    height: auto; 
} 

您要搜索的每個屬性在這裏:

https://developer.mozilla.org/en-US/docs/Web/CSS/Reference

example, height

初始值:auto

另一個example, max-height

初始值:none


在2017年,現在有一種說法,unset關鍵字:

.c1 { 
    height: unset; 
} 

有些文檔: https://developer.mozilla.org/en-US/docs/Web/CSS/unset

未設置的CSS關鍵字是關鍵字的初始值和繼承關係的組合。與其他兩個CSS範圍的關鍵字一樣,它可以應用於 任何CSS屬性,包括CSS速記全部。如果該屬性從其父項或 繼承到其初始值,則該關鍵字將 該屬性重置爲其繼承值。換句話說,它在第一種情況下的行爲與繼承關鍵字 的行爲相似,並且與 第二種情況中的初始關鍵字類似。

瀏覽器支持是好的:http://caniuse.com/css-unset-value

+0

對於引用鏈接 – 2011-03-07 10:55:47

+2

+1對於很好的答案和引用,我認爲鏈接已更改爲:https ://developer.mozilla.org/en-US/docs/Web/CSS/Reference – Paolo 2013-06-14 09:43:20

+0

當沒有初始值(「initial value:none」)時,將該值設置爲auto似乎不起作用。例如,當我使用「max-width:auto」的時候,我得到了一個不匹配的屬性值錯誤,我應該怎麼做? – user1779563 2015-05-27 22:45:07

9

喜歡說一個類.c1的高度:40px;我如何擺脫這個高度屬性?

不幸的是,你不能。 CSS沒有「默認」佔位符。

在這種情況下,你會重新使用屬性

height: auto; 

爲@Ben正確地指出,在某些情況下,inherit是要走的正確方法,例如在重置a的文本顏色時元素(即屬性從父元素繼承):

a { color: inherit } 
+3

的所有答案我會給+1,還有「繼承」的價值,在一些高度以外的方面,繼承更合適 – Ben 2011-03-07 10:50:30

+0

@本好點,加入幷包括一個例子。 – 2011-03-07 10:54:54

+2

繼承不能在舊的IE版本(如ie7 :() – meo 2011-03-07 10:59:48

2

要擺脫固定height屬性,你可以將其設置爲默認值:

height: auto; 
2

您需要提供一個選擇與一個比Main.css更高specificity。使用該選擇器,將所需屬性的值設置爲其默認值,例如

body .c1 { 
    height: auto; 
} 

沒有可用於所有屬性的「默認」值,您需要查找每個屬性的默認值並使用它。

6

在CSS3中添加initial關鍵字以允許作者明確指定此初始值。

+0

僅供參考:'height:initial;'在IE9中似乎不起作用。 – 2014-03-12 20:47:56

+0

身高:初始;即使在IE11似乎並沒有工作...... – Picard 2017-01-17 10:05:02

+0

那麼'初始'和'自動'和'unset'之間的區別是什麼? – ExillustX 2017-08-28 09:38:02

2
.c1 { 
    height: unset; 
} 

CSS3加入unset值也解決了這個問題,並它比auto或更普遍的方法initial,因爲它設置爲每一個CSS屬性的默認值,另外它的默認behawior相對於其父。

請注意initial值會打破上述行爲。

MDN

像其他兩種CSS-廣泛的關鍵字,就可以應用到任何CSS屬性,包括CSS縮寫all。如果該屬性繼承自其父項,則將該屬性重置爲其繼承的值,否則將該屬性重置爲其初始值。

1

我有一個問題,即使當我將「高度」改寫爲「未設置」或「初始」時,其行爲與我刪除先前設置時的行爲不同。

原來我需要刪除min-height屬性!

height: unset; 
min-height: none 

編輯:我的IE 7測試,它不承認「未設置」,所以「自動」效果更好」