2011-11-13 41 views
1

例如:是否有可能制定一个结合两个或更多其他CSS规则的CSS规则?

.strong { 
     font-weight: bold; 
} 
.italicized { 
     font-style: italic; 
} 
.strong_and_italicized { 
     .strong; 
     .italicized; 
} 

我问,因为我工作的一些jQuery的是操作已经从jQuery UI的主题CSS文件分配多个不同的类中的某些DOM对象。在我看来,将多个类组合成一个类会更容易,然后当试图选择DOM对象时,我可以在JavaScript代码中引用该类。

+0

AFAIK你不能。我记得几年前的博客文章,抱怨css没有像常量那样基本。有工具可以生成CSS。如果我想起任何我会写它作为答案,但我不能对不起。 - 编辑 - 下面的答案列出它们 – 2011-11-13 21:28:00

回答

7

将CSS类组合成一个类似的唯一方法就是使用像LESSSASS这样的CSS预处理器。

如果你不想使用它,恐怕你必须分别分配两个类。

1

你可以用Less CSS来做到这一点。它甚至在你的例子中使用了这个语法。

4

纯粹的CSS无法结合其他两个现有的规则。

如果您需要将两个CSS规则结合起来,只需使用元素这两个类:

.foo { 
    color: #F00; 
} 
.bar { 
    font-size: 10px; 
} 

<div class="foo bar"></div> 

有了CSS,你可以链选择:

.foo.bar { 
    color: #0F0; 
    font-size: 10px; 
} 

和jQuery将选择的元素与链接类:

$('.foo.bar').do(stuff); 

另外,不要有史以来编写暗示风格的类。这不是语义上的,当你想重复使用你的HTML但是改变你的CSS时,这会变得更加困难。

喜欢的东西:

.italicized { 
    font-weight: bold; 
} 

不会是有意义的,而:

.title { 
    font-style: italic; 
} 

没有涉及造型。