【问题标题】:Is there a way to reset the border, border-radius, and background-color CSS properties?有没有办法重置边框、边框半径和背景颜色 CSS 属性?
【发布时间】:2012-10-09 11:11:13
【问题描述】:

我正在将 Twitter 引导程序用于我输入的页面的 CSS。引导程序定义: 边框:1px 纯色 rgb(204, 204, 204); 背景色:rgb(255, 255, 255); 边框半径:3px 3px 3px 3px; 用于选择元素。

我想重置(通过在我自己的 CSS 中覆盖)这些 Bootstrap CSS 属性。我试过:自动,继承,无。但没有一个工作。我还尝试了半径的 -moz 前缀。没有成功。

我发现这不起作用,因为在 Firefox 中,没有边框、没有边框样式和没有背景颜色的选择以与 webkit 浏览器类似的方式呈现。

您可以通过在 Web Developer -> Inspect -> CSS 视图中注释掉这些规则来检查这一点。

如何在不接触 Bootstrap 库的情况下完成所有这些操作?

【问题讨论】:

  • 据我所知,CSS 中没有“重置”属性。当您需要时,您必须“重置”这些属性,以消除您不想要的属性。

标签: twitter-bootstrap css


【解决方案1】:
-webkit-border-radius: 0;
-moz-border-radius: 0;
-o-border-radius: 0;
border-radius: 0;
border: 0;

这应该重置边界。只要您喜欢的样式出现的时间晚于 Bootstrap 提供的样式,它们就会优先。此外,-moz-appearance 可以帮助您覆盖默认的 Firefox 外观(或重置它们)。

【讨论】:

    【解决方案2】:

    Bootstrap 声明的 specificity 比你的高。

    您可以通过在声明后添加!important 来测试:border: none !important

    但是,不要附带此代码。要以正确的方式修复它,请使用另一个类或 id 来覆盖 Bootstrap 的 CSS。

    【讨论】:

      【解决方案3】:

      要重置属性,使用值“initial”,适用于所有属性:

      -webkit-border-radius: initial;
      -moz-border-radius: initial;
      -o-border-radius: initial;
      border-radius: initial;
      border: initial;
      

      【讨论】:

      • 这可以是评论。答案应该更具解释性
      【解决方案4】:

      您是否尝试过!important,它并不总是一个好的解决方案,但可能是您遇到问题的原因,请阅读更多关于何时使用此方法here 的信息。

      【讨论】: