您可以,如果是这样,您如何撤消css规范?假设你想要
textarea { width: 500px; }
然后你想要一个70列的特定文本区域:
<textarea class='email' cols=70></textarea>
理想情况下,我会写一个CSS规则
textarea.email { width: revert_to_default_unspecified_value; }
(但显然该值不存在。)
你是怎么做到的?我对这个具体案例既感兴趣,也对如何在子代中撤消父css规范感兴趣。这一定说得很多,但谷歌很难。
答案 0 :(得分:6)
textarea.email { width: auto; }
答案 1 :(得分:6)
您要查找的默认值是:
初始:自动
http://www.w3.org/TR/CSS2/visudet.html#the-width-property
请注意,对于某些CSS属性,设置auto
将恢复为默认值。其他有不同的初始值。
例如,background-color
属性的默认值为transparent
。
初始:透明
http://www.w3.org/TR/CSS2/colors.html#background
某些属性(如color
)无法恢复为默认属性,因为它们没有已知的默认值。
初始值:取决于用户代理
http://www.w3.org/TR/CSS2/colors.html#colors
我们来看一下font-size属性,这是一个继承的属性。
level0
<div style="font-size:36px;">
level1
<div [style="font-size:medium;"]>
level2
</div>
</div>
默认情况下,level2
字体大小将从level1
继承,但如果我们添加初始medium
值,我们会将其重置为level0
文本的大小。唯一不方便的是我们不能忽略一个级别的继承,所以如果我们要添加level3
,我们仍然会重置为level0
,而不是level1
。
答案 2 :(得分:1)
我认为,如果您没有为此textarea指定css width
规则,则其默认值为width: auto
。因此,我会尝试在特定情况下将其设置回默认值,HTML属性应该正常接管:
textarea.email { width: auto }
答案 3 :(得分:0)
要重置样式,您现在可以使用unset
和initial
特殊属性。对unset
的支持目前较低(56%) - http://caniuse.com/#search=CSS%20unset%20value,但对initial
的支持率很高(80%) - http://caniuse.com/#search=CSS%20initial%20value。
考虑一下这个例子:
http://codepen.io/anon/pen/OMROye
<div class="outer">
Foo
<div class="middle">
Bar
<div class="inner">
Baz
</div>
</div>
</div>
.outer {
font-size: 50px;
color: #f3f;
}
.middle {
font-size: 25px;
color: #33f;
}
.inner {
font-size: 15px;
color: #f33;
}
.inner {
font-size: unset;
color: unset;
}
内部文字的字体大小和颜色类似于&#39;父节点。
如果我们将最后一种风格改为:
.inner {
font-size: initial;
color: initial;
}
内部文本将具有标准颜色和标准字体大小。
现在是指出这些属性比它们看起来有点棘手的最佳时机,例如unset
有时像initial
那样,有时像inherit
一样。
指向文档的链接:
https://developer.mozilla.org/en-US/docs/Web/CSS/initial
https://developer.mozilla.org/en-US/docs/Web/CSS/unset
https://developer.mozilla.org/en-US/docs/Web/CSS/initial_value