2010-07-11 87 views
2

我已经定义了一些我将在我的网站上使用的背景颜色。所以,我可以轻松设置像不同元素的背景色:现在链接CSS规则

.background_highlite{ 
    background-color: rgb(231, 222, 207); /*Cream in my Coffee*/ 
} 
.background_shadow{ 
    background-color: rgb(201, 179, 156); /*Moose Mousse*/ 
} 

,如果我想我的页面上的所有textarea元素有驼鹿慕斯的颜色作为他们的背景,我想写引用回到另一个CSS规则.background_shadow,所以我只需要在一个地方更改rgb值。

喜欢的东西:

textarea{ 
    height:50px; 
    background-color: background_highlite /* want to feed forward to keep the rgb in one place */ 
} 

这可能与CSS?

+0

简短的回答:不,不是用普通的CSS – knittl 2010-07-11 16:39:55

回答

4

人们对CSS的简单结构感到沮丧,并且已经创建了预处理器来更方便地编写CSS。例如,请看LessCleverCSS

+1

萨斯也值得一提:http://sass-lang.com/ – igorw 2010-07-11 16:22:30

+0

是的,似乎有一些这些现在。 Google和Google可以重新找到这两个人,但这两个人都不太聪明! :) – 2010-07-11 16:32:25

3

您可以指定所有元素的同一个班级,然后设置在类的CSS背景色:

<textarea class="background_shadow">blah</textarea> 

请记住,你可以在许多类分配给任何元素,这样你就可以使用一个类只是为了控制背景颜色,然后使用其他类为您的其他需求:

<textarea class="background_shadow another_class something_else">...</textarea> 
0

对不起,没有。 CSS不支持变量或链接。

但是,有一个JavaScript库,允许。 http://lesscss.org/

0

你能做的最好的是

.hilight textbox { 
    background: black; 
} 
textbox { 
    color: pink; 
} 
.background_shadow { 
background: grey; 
} 

或者,当然了,你可以在.hilite类添加到您的股利。

0

你有两个选择一起工作:

  1. 机CSS,这是可能的,但不是很好的维护。
  2. 预处理器,如xCSS,它可以创建更清晰的代码并提供变量。

对于我认为简单的项目,原生CSS将会很好。但在更复杂的情况下,最好使用某种处理器,比如早些时候谈到的朋友。

在这种方法中,您总是可以使用一些人类可读的规则,例如: .blabla {min-height:20px},这是通过您自己的逻辑转换为CSS的预处理程序,我们的所有目标浏览器都可以理解, .blabla {min-height:20px;身高:自动!重要;高度:20像素;}等

而且我在预处理程序真的就像是,你可以正确的代码,如下:

  • .specialClass延伸.basicClass {} //多见于扩展
  • 。选择器{0}显示:块; } strong { color:blue; } } //多看儿童
  • 或者你需要的是变量{$ path = ../img/tmpl1/png; $ color1 =#FF00FF; $ border = border-top:1px solid $ color1; } //多见于瓦尔