我试图通过实际分配变量的组合名称来创建一个可在LESS CSS中动态定义变量的混合模块。
简化的用例(不是真正的用例):
.define(@var){
@foo{var}: 0;
}
然后人们会这样称呼mixin:
.define('Bar'){
@fooBar: 0;
}
由于使用选择器名称时可以进行这种字符串内插,因此我想知道变量名称是否也可以使用;到目前为止,我对尝试过的各种语法都没有运气(除上述语法外,我尝试了转义,引用,使用~
前缀等等)。
我又尝试了另一件事,我觉得自己可能会接近。但是我遇到了LESS语法的奇怪问题。如果我这样写:
.define(@var){
#namespace {
@foo: @var;
}
}
然后这样称呼它:
.define(0)
然后@foo
,我可以以通常的 命名空间 方式使用:
.test {
#namespace;
property: @foo; /* returns 0 */
}
但是,对于插入字符串的选择器,这并不适用:
.define(@var, @ns){
#@{ns} {
@foo: @var;
}
}
.define(0, namespace);
.test {
#namespace;
property: @foo;
}
上面的代码给我以下错误:
名称错误:#namespace未定义
但是,字符串插值成功且有效。事实上,如果我.test
删除该部分并修改上面的内容以输出测试属性,则可以看到CSS解析正确。我的意思是:
.define(@var, @ns){
#@{ns} {
@foo: @var;
prop: @foo;
}
}
.define(0, namespace);
输出以下CSS:
#namespace {
prop: 0;
}
LESS当前无法实现您想要做的事情。 如果您提前知道要允许使用哪些变量名 (换句话说,不是完全动态的),我可以想到两种可能的“解决方法”
。然后可以执行以下操作之一:
.define(@var) {
@fooBar: 0;
@fooTwo: 2;
@fooYep: 4;
@fooSet: 'foo@{var}';
}
.define(Two);
.test {
.define(Bar);
prop: @@fooSet;
}
.test2 {
prop: @@fooSet;
}
减
.define(@var) {
.foo() when (@var = Bar) {
@fooBar: 0;
}
.foo() when (@var = Two) {
@fooTwo: 2;
}
.foo() when (@var = Yep) {
@fooYep: 4;
}
.foo();
}
.define(Two);
.test {
.define(Bar);
prop: @fooBar;
}
.test2 {
prop: @fooTwo;
}
.test {
prop: 0;
}
.test2 {
prop: 2;
}
但是我不确定它是否真的有用,也不知道它在您的实际用例中是否可以有任何实际的应用程序(因为您提到的不是真正的用例)。如果要在LESS中使用完全动态的变量,则不能通过LESS本身来完成。
lesscss-python 是 Less CSS 的 Python 版本。
注意:用户界面已经在 Dreamweaver CC 和更高版本中做了简化。因此,您可能在 Dreamweaver CC 和更高版本中找不到本文中描述的一些选项。有关详细信息,请参阅此文章。 不通过编写 SQL 来定义记录集 您不需要手动输入 SQL 语句就可以创建记录集。 在“文档”窗口中打开要使用记录集的页面。 选择“窗口”>“绑定”以显示“绑定”面板。 在“绑定”面板中,单击加号 (+) 按钮
问题内容: 有人可以解释一下使用之间的区别吗 和 也许彼此之间有好处? 我到处都使用变量,甚至在每个页面都包含的配置类型文件中,我仍然使用变量,因为我不明白为什么要使用define方法。 问题答案: DEFINE使常量,并且常量是全局的,可以在任何地方使用。它们也不能重新定义,可以是哪个变量。 我通常将DEFINE用于Configs,因为事后没有人可以将其弄乱,而且我可以在没有全局关联的情况下在任
正如我们已经描述过的,模板可以使用在数据模型中定义的变量。 在数据模型之外,模板本身也可以定义变量来使用。 这些临时变量可以使用FTL指令来创建和替换。请注意每一次的 模板执行 工作都维护它自己的私有变量, 同时来渲染页面。变量的初始值是空,当模板执行工作结束这些变量便被销毁了。 可以访问一个在模板里定义的变量,就像是访问数据模型根root上的变量一样。 这个变量比定义在数据模型中的同名参数有更高
问题内容: 在我的 Dockerfile中 ,我想 定义 稍后 可以 在Dockerfile中使用的变量 。 我知道该指令,但是我不希望这些变量是环境变量。 有没有一种方法可以 在Dockerfile范围内声明变量 ? 问题答案: 您可以使用-请参阅https://docs.docker.com/engine/reference/builder/#arg 该指令定义了一个变量,用户可以在构建时使用
有没有一种方法可以在Dockerfile范围声明变量?