我对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。
答案 0 :(得分:2)
如果不设置类以允许访问它,则无法仅针对单个属性进行检索。例如,如果值得你,可以设置一个类:
.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);
}
这将获得您想要的输出。但正如您所看到的,它涉及更多编码,而不仅仅是设置两个项目本身的属性(或设置两个项目的全局变量,这将是更好的方法)。我不能想到最好使用上述方法的情况,但也许有人会觉得这很有用。