【问题标题】:How to override border:none?如何覆盖边框:无?
【发布时间】:2012-02-20 19:30:51
【问题描述】:

我正在使用一些非常糟糕的第三方软件,需要通过外部 CSS 文件覆盖他们的 CSS 样式。

他们在所有表单字段上设置了border: none,但我希望输入字段只使用浏览器的默认样式。

如何覆盖 border: none 以使表单字段的样式就像没有设置 border 属性一样?

【问题讨论】:

  • 如果你真的想在某些东西上强制使用样式,可以使用 !important 覆盖。
  • 尝试border: inheritborder: transparent。其中一个应该可以工作。

标签: css


【解决方案1】:

将异常设置为border: inherit

这将覆盖最近的边界规则。

【讨论】:

    【解决方案2】:

    您可以尝试将该值设置为空,如果该值无效,您可以尝试以下操作: how to remove css property using javascript?

    【讨论】:

      【解决方案3】:

      假设他们没有内联输入字段的样式:

      input {
          border: 1px solid #999 !important;
      }
      

      【讨论】:

      • +1 用于提醒内联。但是,OP 确实表示他们希望恢复默认边框。
      【解决方案4】:

      不幸的是,CSS 中没有办法说应用浏览器默认值。例如,如果任何 CSS 规则在元素上设置了边框,那么您不能说“忽略该规则”;您只能设置自己的规则来覆盖它(如果您定义规则以使其在级联中获胜)。

      在实践中,以下创建的边框接近流行浏览器的默认值:

      input { border: solid 1px #ddd; border-top-color: #aaa; padding: 2px; }
      

      您可能需要修改选择器(甚至使用!important)才能赢得另一个样式表中的设置。

      【讨论】:

        【解决方案5】:

        为我工作了一个嵌套的:课前

            .vdr.active:before {
                outline: 0;
            }
            
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-06-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多