这就是级联样式表中的级联发挥作用的地方。
将您的 html 元素或小部件/模块(嵌套的 html 元素组)视为一个对象。您知道您将拥有共享相同属性的对象,因此您需要创建一个它们可以利用的可重用类。
.baseModule {align: center;}
假设您的模块是一条消息(错误,闪存...)。因此,您“扩展”或“包含”您的 .baseModule 类,因为所有消息都将居中对齐(参见最终的 html 示例)。
.message {border: 1px solid #555;}
此外,您希望您的错误消息具有红色背景。此外,如果您希望它是不同的颜色或其他东西,您可以在此处从 .baseModule.message 覆盖边框属性。
.error {background-color: red;}
所以现在你有了一些可以轻松重用的 css 定义。
<!-- Regular message module -->
<p class="baseModule message">
I am a regular message.
</p>
<!-- Error message module -->
<p class="baseModule message error">
I am an error message. My background color is red.
</p>
要将这与您的问题联系起来,您基本上会利用多个类名来实现最大的可重用性。诚然 ie6 不支持链式选择器(class1.class2.class3),但它仍然是一个巧妙的技巧!