OO喜欢CSS中的行为:继承可能吗?

时间:2011-01-22 10:12:31

标签: css inheritance

我有一个简单的边框样式说:

.border 
{
   /*content*/
}

我希望其他几个类继承这种边框样式。这可以只在CSS中完成吗? 或者我是否还需要在HTML中指定它?

我想:

.actionArea : .border
{ 
     /*content */
}

或者这只能在HTML中完成:

<div class="actionArea border"/>

如果后者是唯一可能的话会非常烦人。

更新
这很好用,但仍然有点难看:

.actionArea, .otherArea, .anotherArea
{
    /*border specification */     
}

.actionArea
{
    /*area specification/*
}

.otherArea
{
    /*area specification/*
}

(..)

2 个答案:

答案 0 :(得分:2)

您需要使用LESS这样的CSS框架。

答案 1 :(得分:1)

您可以使用sass。可能是您要使用的嵌套功能http://sass-lang.com/#nesting

table.hl {
  margin: 2em 0;
  td.ln {
    text-align: right;
  }
}

li {
  font: {
    family: serif;
    weight: bold;
    size: 1.2em;
  }
}

或者如Oded所说,你可以使用LESS。 LESS有一些有趣的功能,其中一个是mixins。这不是完全继承,但它给你在css中的关系

从LESS复制的示例

.bordered {
  border-top: dotted 1px black;
  border-bottom: solid 2px black;
}

#menu a {
  color: #111;
  .bordered;
}
.post a {
  color: red;
  .bordered;
}