7

我需要扩展特定的 CSS 样式。例如,我正在使用第 3 方 DLL,它将 CSS 类样式动态分配给特定控件。我想在我的 asp.net 项目中创建一个具有相同名称的 css 类,其中来自第 3 方 DLL 的样式和我的项目 CSS 类样式都应用于控件。

例如,第 3 方按名称上课

.VerticalAlign
{
   vertical-alignment:center;
}

现在我按名称创建类.VerticalAlign { color : #f3f3f3 }

当我将上述类应用于控件时,我需要将垂直对齐和颜色应用于我的控件。

如果不可能使用相同的名称,是否有可能创建具有不同类名的 CSS 样式,该样式继承自 3rd 方 dll 中定义的 CSS 类的属性。

4

2 回答 2

12

CSS 中的“C”代表 Cascading,这意味着样式可以添加或取代之前的 CSS 规则。因此,使用您希望在原始声明上扩展的样式再次声明类名称的示例是执行此操作的正确方法。

于 2012-04-25T13:38:19.407 回答
5

你说得对;保留相同的名称,添加新属性,它们应该被应用。

/* From DLL */
.foo { color: blue; }

/* Your Style */
.foo { text-align: center; }

/* --- Final outcome --- */
.foo {
  color: blue;
  text-align: center;
}

您可能会遇到优先考虑的问题(如果它们都有颜色,则颜色样式会获胜)。例如

/* From DLL */
.foo { color: red; }

/* Your code */
.foo { color: blue; }

您将不得不使用!important(hack-ish)或指定更大的特异性(即包括标记名或其他类名或 ID)。

于 2012-04-25T13:40:21.347 回答