我们可以在另一个CSS类中包含常见的CSS类吗?

我是一个CSS新手。 我只是想知道,是否有可能将一个普通class级join另一个class级?

例如,

.center {align: center}; .content { include .center here}; 

我遇到了CSS框架 – 蓝图 。 我们需要将位置信息放入HTML中,例如

 <div class="span-4"><div class="span-24 last"> 

因此,我们将把定位属性放在html而不是css中。 如果我们改变布局,我们需要改变html而不是css。

这就是我问这个问题的原因。 如果我可以包括.span-4到我自己的CSS中,我将不必在我的HTML标记中指定它。

奇怪的是,即使CSS谈到inheritance,类也不能“inheritance”这种方式。 你可以做的最好的是这样的:

 .center, .content { align: center; } .content { /* ... */ } 

另外,我强烈build议你不要做这样的“裸体”类select器。 尽可能使用ID和标签

 div.center, div.content { align: center; } div.content { /* ... */ } 

我这样说是因为如果你尽可能地select你的select器,那么一旦你得到大的样式表就会变得难以pipe理(以我的经验)。 你最终会有意想不到的select器相互作用,直到你创build一个新的类(比如.center2),因为改变原来的东西会影响你不想要的各种东西。

这是级联样式表中的级联进来玩的地方。

把你的html元素或者widget /模块(嵌套的html元素组)作为一个对象。 你知道你将拥有共享相同属性的对象,所以你需要创build一个可以使用的可重用类。

 .baseModule {align: center;} 

说你的模块是一个消息(错误,闪存…)。 所以你“扩展”或“包含”你的.baseModule类,因为所有的消息将被中心alignment(见最后的html例子)。

 .message {border: 1px solid #555;} 

此外,你希望你的错误消息有一个红色的背景。 另外,如果你希望它是一个不同的颜色或东西,你可以在这里覆盖.baseModule.message的border属性。

 .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不支持链式select器(class1.class2.class3),但它仍然是一个整洁的把戏!

在标准的CSS,这是不可能做到这一点,但它会很好。

对于这样的事情,你需要使用SASS或类似的,“编译”到CSS。