css - 导入后我的 .less 文件中缺少 Font-Awesome.less 变量

标签 css fonts less font-awesome

我在我的元素中遇到了一个有趣的解析错误。我使用 Font Awesome 并将其导入到我的 app.less 文件中。 (我使用官方的 less.js 客户端编译器。)

@import "@{assets}/font-awesome/less/font-awesome.less";

当我在我的 HTML 中使用 .fa 类时,它工作得很好,所以它被编译成 css,但是当我像这样在我自己的 less 文件中使用 less 变量时......

.icon-chevron-up, .icon-chevron-down{
    .@{fa-css-prefix}; // or .fa
}

...解析器以...停止

ParseError: Unrecognised input
in app.less?1 on line 36, column 2:

35 .icon-chevron-up, .icon-chevron-down{
36     .@{fa-css-prefix};
37 }

我必须在没有任何 jQuery hack 的情况下覆盖 jQuery 插件中已弃用的 Font-Awesome 类。谢谢指教!

最佳答案

嗯,不允许通过这样的变量调用混合:.@{fa-css-prefix};。 通过 .fa 调用它目前也是不可能的(v1.5.1),但计划在未来的 LESS 版本中允许这样做。

目前的解决方法是将预编译的“font-awesome”CSS 文件导入为 LESS 代码,并以通常的方式将它们的选择器用作混合,例如:

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

.icon-chevron-up, 
.icon-chevron-down {
    .fa;
}

或者:

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

.icon-chevron-up, 
.icon-chevron-down {
    &:extend(.fa);
}

更多细节见:


更新,LESS 1.6.0:现在可以使用 FA 插值选择器作为混合(但不是 :extend 他们),即:

@import "font-awesome.less";

.icon-chevron-up, 
.icon-chevron-down {
    .fa;
}

关于css - 导入后我的 .less 文件中缺少 Font-Awesome.less 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20706688/

相关文章:

javascript - 在 JS 中等效于应用于 SVG 元素的调整大小的 css

html - 帮我解决字体大小问题

java - 在运行时更改字体

css - 在 LESS 的同一个选择器中使用 mixin?

css - 在开发工具中一次性关闭所有 CSS 样式

javascript - 向下滚动时更改标题 CSS

html - 在CSS3中创建图像上方的透明箭头

twitter-bootstrap - 使用移动设备时从 .btn-group 切换到 .btn-group-vertical

javascript - 无法单击选择框中的图标三 Angular 形

css - CSS 在哪里寻找字体?