如何将 CSS 属性设置为特定元素的默认值(或防止继承)

新手上路,请多包涵

给定作为另一个元素的子元素并自动继承一系列 CSS 属性的任何 HTML 元素:如何将这些属性中的一个(或所有)设置为默认值?

例子:

CSS:

 .navigation input {
    padding: 0;
    margin: 0 30em;
}

HTML

 <div class="navigation">
    Some text: <input type="text" name="one" />
    More text: <input type="text" name="two" />
    <!-- The next input, I want it to be as browser-default -->
    <div class="child">
        <input type="text" name="three">
    </div>
</div>

在这里, 浏览器默认 我的意思是我希望它看起来就像根本没有将 CSS 应用到该元素一样。

在这里,我使用 input 元素作为示例,但我说的是任何类型的元素。我不是在问如何为该特定元素设置不同的 CSS 属性,我是在问如何将其 重置 为默认值。

不同的元素在未设置时具有不同的默认属性,如 padding 。例如,CSS 中的填充为 0 button --- 将在没有任何空格的情况下包装其文本。您可以稍后将其填充设置为另一个值,但如何将其设置为默认填充?

提前感谢您的任何意见!

原文由 Francisco Zarabozo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 388
2 个回答

如果你说的是浏览器默认值而不是 CSS 重置样式表,它们在网络上随处可见,这些样式表将每个元素属性重置为标准化值。

几个例子

迈耶网站

HTML5 Doctor (包含 HTML5 元素的 CSS 重置)

如果您说的是手动样式重置并忽略继承,那么直到现在,除非您重新声明它们的值,否则没有办法完全重置样式,例如

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 */
}

原文由 Mr. Alien 发布,翻译遵循 CC BY-SA 3.0 许可协议

在你的情况下你可以使用它:

 .navigation input {
    all: initial;
}

它会将您输入的所有属性恢复为初始值。

来源: http ://www.w3schools.com/cssref/css3_pr_all.asp

原文由 C.Vergnaud 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏