2014-08-29 98 views
-2

是否有任何可能性只使用css扩展存在类?扩展CSS类

.darkStyle { 
     color:#eee; 
     background:#222; 
} 
.element { 

     // here I want to get all properties from darkStyle 

     min-width:100px; 
     display:block; 
} 

我知道我可以在HTML类=“darkStyle元件”使用,但任何类似的在我的例子延伸方法将是更可用。

+0

@ProgramFOX AFAIK CSS继承是施加到派生元素,而不是由一个样式非常相同的元件的机构先前的规则。元素不会继承应用于自身的样式,它们只是其样式,适用于它的样式。 – FelipeAls 2014-08-29 08:53:50

+0

@FelipeAls我链接的问题的答案可以在这里重用,所以它是重复的。例如,那里的LESS答案准确解释了OP在这里想要的内容。 – ProgramFOX 2014-08-29 08:57:22

+0

@ProgramFOX接受的答案也回答了这个问题(部分原因还有很多其他的方法)。我和Jawad一样困惑:继承(所谓重复的标题)是CSS的一个支柱,在这种情况下根本不代表这一点 – FelipeAls 2014-08-29 15:23:41

回答

1

为此使用LessSass

在减:

.element { 
    .darkStyle; // Will output all styles from .darkStyle; 
    min-width:100px; 
    display:block; 
} 
+0

此外,实际问题的实际答案是“不,不使用_only_ CSS”。 – 2014-08-29 08:30:55

1

分配共同属性第一,然后分配的独特性质对于.element。这将是仅有CSS的唯一方式。您可以使用像Less这样的CSS框架来增加继承等功能。

.darkStyle, .element { 
    color:#eee; 
    background:#222; 
} 

.element { 
    min-width:100px; 
    display:block; 
} 
+0

这是管理CSS的一个好处,但它确实说明了使用_pure_ CSS实现_extend_类的任何方式(不可能)。 – 2014-08-29 08:36:00

+0

是的,当然你是对的。 – 2014-08-29 08:37:36

0

不,你不能“扩展”类。而且你不需要,CSS不是一种编程OO语言,并且具有不同的机制。

例如,类可以给定的HTML元素进行组合:

<p class="darkStyle"> 
    I'm styled by styles applying to .darkStyle 
</p> 
<p class="darkStyle element"> 
    I'm styled by styles applying to both .darkStyle and .element 
</p> 

Multiclass!

+0

尽管可能,但我认为这种CSS标记并不是最好的。设计应尽可能避免使用HTML。我认为更好的结合在CSS本身中。 – 2014-08-30 03:20:25

+0

@ Pierre-EmmanuelLevesque我的答案中没有CSS,只有OP使用的类。尽管在一个理想的世界里,在大型项目中,内容和形式会有完美的分离,但它不会扩展。新的模板,更多的CSS规则,重复广告资料库并获得数以千计的CSS规则。 OOCSS等在这些情况下非常有用的方法 – FelipeAls 2014-09-01 13:19:29

+0

对不起,我应该更清楚。我的意思是说我不认为在你的HTML中有这种CSS钩子是一个好主意。我会说这样做比较难,但不容易。你越分离内容和设计,我认为更容易的缩放。个人喜好我猜。 – 2014-09-02 01:03:35