2011-04-06 51 views
1

现在,我有CSS这样的:会发生在一个以上的DIV多个DIV,相同的类,如何减少CSS标记?

#lightbox2wrapper .panel-col-first .pane-node-title { 
text-align:center; 
color:#8A3B3B; 
font-weight:bold; 
font-size:inherit; 
margin-bottom:5px; 
} 

特定.panel-COL-第一.pane节点标题。我不想使用如下语法:

#lightbox2wrapper .panel-col-first .pane-node-title, #div1 .panel-col-first .pane-node-title, #div 2 .panel-col-first .pane-node-title { 
... ... 
} 

它会使CSS非常长。如何缩短上述标记?

谢谢。

回答

1

如果你的逻辑必须明确遵循“适用于一个只有当它出现在B和仅B也是在(C | d |电子| F ...)。

那么,对不起,但没有其他办法可以指定与CSS这个逻辑

注意:您不必在一行中运行所有选择器,例如,您可以编写:

#lightbox2wrapper .panel-col-first .pane-node-title, 
#div1 .panel-col-first .pane-node-title {  
    text-align:center; 
    color:#8A3B3B; 
    [etc.] 
} 

如果你仍然不喜欢这样冗长的选择器,有一点需要考虑的是较短的类名。你有权访问代码来改变它们吗?

而且您可以修改所有潜在目标元素的类名称,您可能只想为该情况创建一个新类,将所有样式应用于该类,并确保将此类放在目标元素。那么你的CSS选择器将不再明确地表达这个逻辑,但它仍然可以工作。但是,如果您试图覆盖应用于这些元素的其他样式,则特定性可能仍然是一个问题。

+0

感谢您的详细回复。 – 2011-04-06 19:49:40

0
div.SomedistinctiveClassName .panel-col-first .pane-node-title{ 
... ... 
} 

然后给div的,在您想要的样式生效,clasname“SomedistinctiveClassName”(可短些),你准备好