将风格包含在另一种风格

问题描述:

所以我一直在思考这个问题,我不认为这存在。我也明白,我的逻辑我是反什么样式正试图适应,但让我们给它一展身手:将风格包含在另一种风格

看看下面的例子:

// Example "template style" 
.blue_bold { 
     color: blue; 
     font-weight: bold; 
     /* other styles can go here */ 
} 

所以我们说,我想将它添加到我的页脚我会在我的HTML去:

<div class="blue_bold" id="footer"> 
     // Content goes here 
</div> 

这是完美的,但如果我想将该元素添加到我的一些元素。说我想将它添加到我的导航,以及,我将不得不为该类添加到每个元素:

<div class="blue_bold" id="navigation"> 
     // Content 
</div> 
.... 
<div class="blue_bold" id="footer"> 
     // Content 
</div> 

我的问题是,作为放在附近通过一类或样式声明它,是有没有办法将样式“附加”到我的样式表中的另一种样式? (为例:)

#navigation, #footer { 
     attach_style(".blue_bold"); 
} 

这样我可以通过创建“基本样式”尽量减少我的代码,然后附上我的样式表中的样式个人风格?这再次只是一个问题,而不是我想表达的意思,但我认为鉴于上述情况,对于使用说品牌指南文档并希望将特定样式附加到单个样式而不去去的人来说,这将是一个“高兴”。该HTML做到这一点。

任何想法?这是否存在?

+1

请参阅:http://stackoverflow.com/questions/1065435/can-a-css-class-inherit-one-or-more-other-classes – DhruvPathak 2013-02-13 10:47:39

无法看到任何好处。你要求的不是标准的CSS。 您可以定义这个使用类blue_bold

.blue_bold { 
    color: blue; 
    font-weight: bold; 
    /* other styles can go here */ 
} 

所有元素对于该块

<div class="blue_bold" id="navigation"></div> 

你可以简单地添加其他的声明是这样的:

#navigation, #footer { 
    background: black; 
    color: red; 
} 

一切从.blue_bold会使用除非被覆盖。它有什么问题?

+0

这不是问题。这已经是Mautitz Swanepoel所拥有的了,他确实想避免在HTML文件中使用'blue_bold'类。 – zessx 2013-02-13 11:09:51

你不能用纯CSS做到这一点。您需要使用LESSSASS/SCSS来生成您的CSS。

语法的例子在这里:他们

LESS

.blue_bold { 
    color: blue; 
    font-weight: bold; 
} 
#navigation, 
#footer { 
    .blue_bold; 
} 

SCSS

.blue_bold { 
    color: blue; 
    font-weight: bold; 
} 
#navigation, 
#footer { 
    @extend .blue_bold; 
} 
+0

为什么他应该使用额外的JavaScript库,当你可以实现相同用简单的CSS? – Mike 2013-02-13 11:05:00

+0

因为这是一个问题:“如果想通过类或样式声明它,是否没有办法将样式附加到样式表中的另一种样式?”。 PS:SASS和LESS何时成为JavaScript库? – zessx 2013-02-13 11:08:27

+0

据我所知,LESS使用less.js来“解析”.less文件。 – Mike 2013-02-13 11:24:54

你需要对SASS以下一起来看看是你的最佳选择。

青菜here

here

您可以使用青菜或更小,但更基本的轻微的解决方法是只是列出你的CSS中的元素,像这样:

#navigation, 
#footer, 
.some-other-element, 
.another-element 
{ 
     // css styles go here that you want to apply to each element listed above 
} 
+0

这是我没有想到的最逻辑的解决方法:)我可以看到的唯一的“失败”是,如果我遵循这个并重新声明页脚以后人为错误可能会添加到2个元素的颜色,所以有效地,我有#footer在相同的样式表中声明了两次或多次,可以在以后进行***排错:)但这是个好主意 – mauzilla 2013-02-13 11:12:40