gpt4 book ai didi

import - 动态构建 less @import url

转载 作者:行者123 更新时间:2023-12-01 07:58:20 28 4
gpt4 key购买 nike

在处理 google webfont import mixin 时,我注意到无法动态构建 @import URL。

.gFontImport (@name, @weights, @subsets) {
@url: "http://fonts.googleapis.com/css?family=@{name}:@{weights}&subset=@{subsets}";
@import url(@url);
}

可以缩小到

@url: "http://localhost/test.css";
@import url(@url);

这些额外的测试都不起作用:

@import url("@{url}"); // this one renders at least

@import url(~"@{url}");

当编译器呈现 CSS 文件时,@import URL 始终保持不变,例如“@{url}”

最佳答案

它似乎在 1.4 beta 中有效。

1.4

LESS 中做这样的事情(我在 less2css.org 试过了):

.gFontImport (@name, @weights, @subsets) {
@import url('http://fonts.googleapis.com/css?family=@{name}:@{weights}&subset=@{subsets}');
}

.gFontImport("Roboto+Slab",400,latin);

将在 CSS 中获得预期的输出:

@import url('http://fonts.googleapis.com/css?family=Roboto+Slab:400&subset=latin');

<=1.3.3

如果它对您不起作用,您可以使用将 @import 调用注入(inject)选择器名称的变通方法:

.gFontImport (@name, @weights, @subsets) {
@gimport: ~"@import url('http://fonts.googleapis.com/css?family=@{name}:@{weights}&subset=@{subsets}');";
@{gimport} some-selector {/* */};
}

所以在 LESS 中调用这样的东西:

.gFontImport("Roboto+Slab",400,latin);

将在 CSS 中输出:

@import url('http://fonts.googleapis.com/css?family=Roboto+Slab:400&subset=latin');
some-selector {
/**/
}

这行得通,但有点乱。在 LESS 的 javascript 实现中,你可以使用

`'\n'`

`'\t'`

在字符串插值中使其看起来更整洁。

关于import - 动态构建 less @import url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16519778/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com