2009-12-21 45 views
4
.mac{margin-left:auto; margin-right:auto;} 

.table{.mac; color:red;} 

我希望能够做到这一点,它没有任何意义,我为什么需要做:如何把一个css类放入一个css类中?

.table{margin-left:auto; margin-right:auto; color:red;} 

我知道表我可以这样做:

<table class="table mac"> 

或者只是像上面那样输入.table{margin-left:auto; margin-right; color;},但看起来多余。

是否有某种方法可以在我的第一条语句中完成我想要完成的任务,是否有一些特殊的语法我不知道要做到这一点?

回答

5

简短的回答是否定的,你不能“包括”其他的CSS类或“继承”他们如此说话。尽管如此,有些工具可以用来为你抽象出那种东西。想起了LESS。我认为“mixin”就是你要找的东西。

下面是从LESS头版代码示例:


.rounded_corners (@radius: 5px) { 
    -moz-border-radius: @radius; 
    -webkit-border-radius: @radius; 
    border-radius: @radius; 
} 

#header { 
    .rounded_corners; 
} 

#footer { 
    .rounded_corners(10px); 
} 
+0

这正是我在寻找的东西,最后! 谢谢BranTheMan。 – payling 2009-12-21 17:37:25

8

您可以用逗号分隔同一行中合并多个CSS选择器:

.mac, .table 
{ 
    margin-left:auto; 
    margin-right:auto; 
} 

.table 
{ 
    color:red; 
} 
+0

是以外在类.mac ...我给的,上面的时候,我写 这是n我正在努力达成的目标。 – payling 2009-12-21 16:37:22

+0

你试图完成什么不起作用。这个答案是正确的,并且比试图嵌套CSS类更具有意义。 – Aaron 2009-12-21 16:39:09

+0

该答案对于我正在尝试做的事不正确。大卫只是解决了另一个问题。 嵌套CSS确实有道理。例如,也许我不想写margin-left:auto; margin-right:auto为每个页面特定的类,而不是嵌套.mac类,我不想有一个全局样式表,其中100个类引用margin-left:auto;保证金右:自动;在一条线上。你可以在技术上这样做,但对我来说这很麻烦,可能只有少数指定的类是全局类。 我希望这有助于解释我的推理。 – payling 2009-12-21 16:54:29

2
.table, .mac {margin-left:auto; margin-right:auto;} 
.table {color:red;} 
+0

为什么有人,把这个答案记下来?它与第一个答案完全相同,只是更紧凑......将代码放在一行上没有任何问题。 – 2009-12-21 16:41:16

+0

是的,对于生产来说这很好,对于开发而言,我更喜欢其他形式,但是可以工作。 – 2009-12-21 16:56:05

+0

哦,我希望我的同伴压力徽章:-P,我在大卫3秒后提交了这个答案,也许他们认为我只是复制了它? – 2009-12-21 18:10:19

0

我要看你怎么想这样做。 你的情况: - 如果你想使用类表中您可以使用.table - 类MAC可以使用.mac -and是你可以用逗号将它们组合:.table, .mac - 如果你把同这通常使用这两个类的风格。

但 - 如果你想在类.mac这在表把风格,那么这将帮助您:

table .mac{} - 注意,我没有使用逗号,只是一个空间......这样你定义table..but不是类.mac这是表

好运