我要求扩展特定的CSS样式。例如,我正在使用第三方DLL,它将CSS类样式动态分配给特定控件。我想在我的asp.net项目中创建一个具有相同名称的css类,其中第三方DLL和我的项目CSS类样式的样式都应用于控件。
比如说,第三方正在按姓名分类
.VerticalAlign
{
vertical-alignment:center;
}
现在我按名称.VerticalAlign { color : #f3f3f3 }
当我应用上面的类进行控制时,我需要将垂直对齐和颜色应用于我的控件。
如果不能使用相同的名称,是否有可能创建具有不同类名的css样式,该类继承了第三方dll中定义的CSS类的属性。
答案 0 :(得分:12)
CSS中的“C”代表级联,这意味着样式可以添加或取代之前的CSS规则。因此,使用您希望在原始声明上扩展的样式再次声明类名称的示例是正确的方法。
答案 1 :(得分:5)
你做得对;保留相同的名称,添加新属性,应该应用它们。
/* From DLL */
.foo { color: blue; }
/* Your Style */
.foo { text-align: center; }
/* --- Final outcome --- */
.foo {
color: blue;
text-align: center;
}
你可能会遇到优先考虑的问题(如果它们都有颜色样式获胜的颜色)。 e.g。
/* From DLL */
.foo { color: red; }
/* Your code */
.foo { color: blue; }
您必须使用!important
(hack-ish)或指定更大的specificity(即包含标记名或其他类名或ID)。