如何扩展css类

use*_*610 7 css

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

比如说,第三方正在按名称上课

.VerticalAlign
{
   vertical-alignment:center;
}
Run Code Online (Sandbox Code Playgroud)

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

当我应用上面的类来控制时,我需要将垂直对齐和颜色应用于我的控件.

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

Joh*_*nde 12

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


Bra*_*tie 5

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

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

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

/* --- Final outcome --- */
.foo {
  color: blue;
  text-align: center;
}
Run Code Online (Sandbox Code Playgroud)

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

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

/* Your code */
.foo { color: blue; }
Run Code Online (Sandbox Code Playgroud)

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