1

我正在寻找一些技巧来使样式继承自另一个对象/类/id。简单的技巧:使用类,但还有其他方法来指定另一个规则的样式吗?

抱歉解释..我正在寻找类似的东西: .st1 {font-size:17pt;} .st2 {-moz/ms/webkit-extends: '.st1';}

实际上,我并不是真的在寻找它(因为我使用类),只是对它感兴趣。

4

3 回答 3

2

您不是在寻找技巧,而是在寻找 CSS 扩展库,例如

他们并没有完全按照您的意愿提供一种方法,而是提供了更好的方法。像

.st1 {font-size:17pt;} 
.st2 {
    .st1;
}

当网站启动时,这些样式声明被编译并优化为一个有效的 CSS 文档。

于 2012-04-17T05:45:41.450 回答
0

CSS 继承依赖于 DOM 结构,因此除非所涉及的元素具有后代/祖先关系,否则 CSS 不提供此类功能。

无论如何,您都可以使用LessCSS之类的库来为属性值实现类似模板的占位符,从而将您的 CSS 变成动态样式表。

于 2012-04-17T05:45:15.317 回答
0

使用纯 CSS,没有

但如果我理解正确的话:

  • 你有一个X 课
  • 那么您希望Y类拥有 X 类的所有内容以及额外的覆盖/新内容吗?

我认为您可以尝试使用 JavaScript 来查找每个具有类 Y的对象并预先添加类 X

就像是:

//disclaimer: I haven't tested it
var objs=document.getElementsByTagName('*');//getElementsByClassName, not very crossbrowser

for(var i=0,len=objs.length;i<len;i++){
    var temp=objs[i].className;
    if((" "+temp+" ").indexOf(" classY ")==-1){//spaces are important
        objs[i].className="classX "+temp;
    }
}
于 2012-04-17T06:00:57.350 回答