如何扩展 css 类



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

例如,第三方按名称进行类

.VerticalAlign
{
   vertical-alignment:center;
}

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

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

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

CSS

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

您是正确的;保留相同的名称,添加新属性,应应用它们。

/* 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)。

最新更新