我怎样才能取消CSS属性?
基本上我有两个外部的CSS在我的页面。
第一个Main.css包含所有样式规则,但是我没有访问它,因此我不能修改它。 我有权访问第二个文件Template.css ,所以我需要重写Main.css的值。 
这很容易,我不得不改变价值,但我如何完全删除一个属性?
 就像说一个类.c1有height: 40px;  ,我该如何摆脱这个高度属性? 
您必须将每个单独的属性重置为其默认值。 这不是很好,但是根据你提供的信息,这是唯一的方法。
在你的例子中,你会做:
 .c1 { height: auto; } 
你应该在这里search每个属性:
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference
  例如, height : 
初始值:
auto
 另一个例子, max-height : 
初始值:
none
 在2017年,现在有另一种方式,未unset关键字: 
 .c1 { height: unset; } 
一些文档: https : //developer.mozilla.org/en-US/docs/Web/CSS/unset
未设置的CSS关键字是初始和inheritance关键字的组合。 与其他两个CSS范围的关键字一样,它可以应用于任何CSS属性,包括CSS速记all。 如果该属性inheritance自其父项,则将该属性重置为其inheritance的值,否则将该属性重置为其初始值。 换句话说,它的行为就像第一种情况下的inheritance关键字,而第二种情况下的初始关键字一样。
浏览器支持很好: http : //caniuse.com/css-unset-value
就像说一个类.c1的高度:40px; 我如何摆脱这个高度属性?
可悲的是,你不能。 CSS没有“默认”占位符。
在这种情况下,您将使用重置属性
  height: auto; 
 因为@Ben正确地指出,在某些情况下, inherit是正确的方法,例如,重置元素的文本颜色(该属性从父元素inheritance): 
 a { color: inherit } 
 在CSS3中添加了一个initial关键字,允许作者明确指定这个初始值。 
 .c1 { height: unset; } 
 在CSS3中添加的未unset值也解决了这个问题, 它比auto或initial更通用,因为它将每个CSS属性设置为默认值,并且相对于其父项的缺省行为。 
 请注意, initial值会打破上述行为。 
来自MDN :
与其他两个CSS范围的关键字一样,它可以应用于任何CSS属性,包括CSS速记all 。 如果该属性inheritance自其父项,则将该属性重置为其inheritance的值,否则将该属性重置为其初始值。
要摆脱固定的高度属性,您可以将其设置为默认值:
 height: auto; 
 你需要提供一个比Main.css更高特异性的select器。 使用该select器,将您想要的属性的值设置为其默认值,例如 
 body .c1 { height: auto; } 
没有“默认”的值将适用于所有的属性,你需要查找每个默认值是什么,并使用它。
我有一个问题,即使当我将“高度”改写为“未设置”或“初始”时,其行为与我去除先前设置时的行为不同。
原来,我需要删除最小高度属性呢!
 height: unset; min-height: none 
编辑:我testing了IE 7,它不能识别“未设置”,所以“自动”效果更好“。