Css 减:使用变量的继承

Css 减:使用变量的继承,css,less,font-awesome,web-essentials,Css,Less,Font Awesome,Web Essentials,我第一次学习使用CSS预处理器(较少),并且在试图定义一个继承类的类时遇到了困难,而父类是一个变量名 这基本上就是我想做的: @import "font-awesome/font-awesome.less" .icon-application-home{ .fa .fa-home; } 但由于fa在字体中的定义如下: @fa-css-prefix: fa; 那么less不会编译,因为它不识别.fa。所以我尝试了这个: @import "font-awesome/font

我第一次学习使用CSS预处理器(较少),并且在试图定义一个继承类的类时遇到了困难,而父类是一个变量名

这基本上就是我想做的:

@import "font-awesome/font-awesome.less"

.icon-application-home{
    .fa .fa-home;
}
但由于fa在字体中的定义如下:

@fa-css-prefix:       fa;
那么less不会编译,因为它不识别.fa。所以我尝试了这个:

@import "font-awesome/font-awesome.less"

.icon-application-home{
    .@{fa-css-prefix} .@{fa-css-prefix}-home;
}
然而,这也不起作用。有什么解决办法吗?我能在这里做什么

编辑

我在这里找到了半个答案:

如果我做到以下几点,这(部分)是有效的:

@import (less) "../font-awesome.css";

.icon-home {
    .fa;
}
然而,我注意到,
.fahome
并不存在。。。仅
.fa主页:在
之前。。。所以我试了一下:

@import (less) "../font-awesome.css";

.icon-home {
    .fa;
    .fa-home:before;
}


这两种方法都不管用。有什么想法吗?

假设您使用的WE2012包含的内容少于1.4.2,最简单的解决方案是:

@import (less) "../font-awesome.css";

.icon-application-home {
    &:extend(.fa, .fa-home all);
}
或:

阅读了解有关这些东西如何工作的详细信息


如果升级到包含较少1.6.x的IDE/编译器,则可以执行以下操作:

@import ".../font-awesome.less"

.icon-application-home {
    .fa;
    &:before {content: @fa-var-home}
}
在这里,您仍然不能将
.fa home
.fa home:before
用作mixin,因为第一个未定义,第二个不是有效的mixin选择器,幸运的是
&:before{content:@fa var home}
正是
.fa home
所做的。
但一般来说,基于
extend
的解决方案更为优化,因为它可以生成更紧凑的CSS

假设您使用的WE2012包含的内容少于1.4.2,最简单的解决方案是:

@import (less) "../font-awesome.css";

.icon-application-home {
    &:extend(.fa, .fa-home all);
}
或:

阅读了解有关这些东西如何工作的详细信息


如果升级到包含较少1.6.x的IDE/编译器,则可以执行以下操作:

@import ".../font-awesome.less"

.icon-application-home {
    .fa;
    &:before {content: @fa-var-home}
}
在这里,您仍然不能将
.fa home
.fa home:before
用作mixin,因为第一个未定义,第二个不是有效的mixin选择器,幸运的是
&:before{content:@fa var home}
正是
.fa home
所做的。
但一般来说,基于
extend
的解决方案更为优化,因为它可以生成更紧凑的CSS

我得说马特,你的代码对我有用。。。也许是局部问题?@NicholasHazel:你用什么来编译LESS?我正在为VisualStudio试用WebEssentials 2012。@NicholasHazel:?!?!这是什么样的答案?这与我的问题有什么关系?我问你的是你用什么编译器来减少。。。Web essentials,SimpLESS还是什么?我很抱歉<代码>我不能帮你解决你的问题。
这样说会更好。删除先前的评论。我想说的是,不要使用
visual studio
。我必须说Matt,你的代码适合我。。。也许是局部问题?@NicholasHazel:你用什么来编译LESS?我正在为VisualStudio试用WebEssentials 2012。@NicholasHazel:?!?!这是什么样的答案?这与我的问题有什么关系?我问你的是你用什么编译器来减少。。。Web essentials,SimpLESS还是什么?我很抱歉<代码>我不能帮你解决你的问题。
这样说会更好。删除先前的评论。我想说的是,不要使用visual studio。谢谢!顺便问一下,有没有什么方法可以用我的.less文件做同样的事情?其中,
.fa
是一个变量(
@{fa css prefix}
)?我已经用另一种方法更新了我的答案(前提是你需要更少的1.6.x)。谢谢!顺便问一下,有没有什么方法可以用我的.less文件做同样的事情?其中,
.fa
是一个变量(
@{fa css prefix}
)?我已经用另一种方法更新了我的答案(前提是你需要更少的1.6.x)。