鉴于任何HTML元素是另一个元素的子元素,并且会自动继承了一系列的CSS属性:你怎么能设置的属性为默认值的一个(或全部)?
例:
CSS:
.navigation input {
padding: 0;
margin: 0 30em;
}
HTML
在这里,通过浏览器的默认我的意思是,我希望它究竟看起来好像完全没有CSS应用到该元素。
在这里我使用的input元素作为一个例子,但我说的任何一种元素。 我不问如何不同的CSS属性设置为特定的元素,我问如何将其重置为默认值。
不同的元素有像不同的默认属性padding时未设置它们。 例如,一个button ,其具有的填充0在CSS将包裹它的文本没有任何空间。 以后,您可以设置其填充到另一个价值,但你会如何将其设置为默认的填充?
感谢您的任何意见!
Answer 1:
如果你说的关于浏览器的默认值比看CSS样式表复位,他们都是在网上,这些样式每个元素的属性重置为标准值。
举几个例子
迈耶网站
HTML5医生 (CSS重置与HTML5元素包括)
如果你说的手动复位风格而忽略继承,比到现在为止,有没有办法来重置风格完全除非及直至你重新申报值,所以例如
div {
color: red;
font-family: Arial;
}
div p {
/* Here it will inherit the parents child unless and
until you re specify properties with different values */
}
Answer 2:
你的情况,你可以使用:
.navigation input {
all: initial;
}
它会恢复你输入的所有attibutes为初始值。
来源: http://www.w3schools.com/cssref/css3_pr_all.asp
Answer 3:
你不能设置为默认值的属性,因为默认值是依赖于浏览器,无法在CSS中提及。 参看 要如何设置CSS属性为默认值特定元素(或阻止继承)
在另一方面,你的示例设置padding和margin ,这是不能继承的。 所以现在的问题似乎是如何防止自己的CSS规则应用在一些特定元素。 那么答案是,你需要修改规则的选择,这样的特定元素不匹配。 在你的情况,这可以通过选择改变做
.navigation > input
但更复杂的标记和样式表是中,越难以限制效果的方式。
Answer 4:
CSS 4 CR具有规定的revert为值关键字。 它看起来像供在问题的确切目的,可能这样使用:
.navigation input {
all: revert;
}
不过它的浏览器的支持是不是很可观的写作的时候...
Answer 5:
我认为其中的一些应该工作:
/* Valeurs avec mot-clé */
clear: none;
clear: left;
clear: right;
clear: both;
clear: inline-start;
clear: inline-end;
/* Valeurs globales */
clear: inherit;
clear: initial;
clear: unset;
来源:
烤面包RM -rf / *
lmgtfy:“CSS3 +明确的”在任何搜索引擎
https://developer.mozilla.org/fr/docs/Web/CSS/clear
Answer 6:
你可以使用未设置的,说你要设置边框颜色为默认浏览器
.navigation input {
padding: 0;
margin: 0 30em;
border-color: unset;
}
这将取消设置继承自其他类的风格。
文章来源: How to set CSS attributes to default values for a specific element (or prevent inheritance)