重置具有继承样式的元素的样式

时间:2010-06-09 11:50:56

标签: css stylesheet

我有一个<div>并且我不希望从任何其他样式表继承任何格式 - 我想从这个<div>开始。我该怎么办?

5 个答案:

答案 0 :(得分:3)

除了显式重置此div的所有样式外,我不知道任何解决方案。

答案 1 :(得分:2)

无法重置css样式的继承。要从新鲜开始,您必须设计样式表以防止不良继承,这是除了覆盖样式之外的唯一方法。

答案 2 :(得分:2)

使用类似firebug或IE开发人员工具栏的内容来获取应用于div的所有样式的列表,并且不幸地手动重置它们。

答案 3 :(得分:0)

我不确定你可以做一般的继承覆盖,但是如果支持这样的话会很好。

你确实有几个选择......

您可以定义自己的风格,并在每个语句的末尾使用!important (不是很有趣)。

div.myspecialdiv
{
  padding:10px !important;
  margin:0 auto !important;
  font-size:12px !important;
  font-family:Arial !important;
  font-weight:normal !important;
  /* and etc. */
}

或者您也可以尝试使用自动

以下是一个例子:

div.myspecialdiv
{
  padding:auto;
  margin:auto;
  background:auto;
  font-size:auto;
  font-family:auto;
  font-weight:auto;
  /* and etc. */
}

您可以在此处详细了解:http://www.michaelhamrah.com/blog/2009/02/wiping-out-inherited-css-styles/

答案 4 :(得分:0)

我发现如果你知道错误的CSS类,你可以使用内联<Style>块来覆盖那个特定的样式集。

例如,在我的问题中,第三方工具使用样式.RadComboBoxDropDown Input来设置所有输入控件的样式。但是,这会导致边距问题,因此我能够使用完全相同的css类名称作为错误的第三方css类,在其使用点的正上方添加以下内联样式块。

 <style>
        .RadComboBoxDropDown input
        {
            margin: 0px !important;
        }
 </style>

我只是在Chrome中对此进行了测试,但它显示了已应用的新类,并且样式恢复了正确的布局。

有一点需要注意,一旦你改变了css类,它将从那一点开始在整个页面中应用这种新风格。