你能否采用特定的'另一种风格的单一财产?

时间:2014-03-15 09:35:57

标签: less

我对LESS很陌生,一直在尝试重用现有风格的属性。

有没有办法重用已知CSS类的单一样式/属性(按名称),例如:

这显然将所有.source合并到.target:

.source { width: 100%; display: block; color: #ff0000; }

.target {
  height: 10px;
  .source;
}

如果我只需要width属性,如下所示:

.source { width: 100%; display: block; color: #ff0000; }

.target {
  height: 10px;
  width : .source:width;
}

我现在已经找了一段时间,我怀疑它有可能,但希望有人有一些建议。

基本上我希望不会为我不需要的属性生成大量重复的CSS。

1 个答案:

答案 0 :(得分:2)

简短答案,目前不存在(自1.7版起)

如果不设置类以允许访问它,则无法仅针对单个属性进行检索。例如,如果值得你,可以设置一个类:

.source { 
    .get(@prop) when (@prop = width), (@prop = all) {width: 100%;} 
    .get(@prop) when (@prop = display), (@prop = all) {display: block;}
    .get(@prop) when (@prop = color), (@prop = all) {color: #ff0000;}
    .get(all);
}

.target {
  height: 10px;
  .source > .get(width);
} 

这将获得您想要的输出。但正如您所看到的,它涉及更多编码,而不仅仅是设置两个项目本身的属性(或设置两个项目的全局变量,这将是更好的方法)。我不能想到最好使用上述方法的情况,但也许有人会觉得这很有用。