Less - 如何用字符串替换整数?

时间:2015-06-10 08:43:40

标签: less

我有一个LESS变量: @columns: 12;

我用它创建了一个动态类名: .one-@{columns} {} // returns .one-12 {}

如何用字符串“第十二”替换12

伪代码

.one-@{replace(columns, "twelfth")} {}

结果将是.one-twelfth {}

建议将不胜感激!

2 个答案:

答案 0 :(得分:2)

假设(在评论中显示)你不能改变@columns变量本身的值,它的可能值不是无限的,一个简单的整数到字符串(或其他任何)转换表(一个简单的列表)会做的伎俩:

@columns: 12;
@columns-string: extract(@i2s, @columns);

// usage:
.class-@{columns-string} {
    /* ... */
}

// the table:
@i2s:
    one
    two
    three
    four
    five
    six
    seven
    eight
    nine
    ten
    eleven
    twelve
    thirteen
    fourteen
    fifteen
    sixteen
    seventeen
    eighteen
    nineteen
    twenty
    ;

答案 1 :(得分:0)

解决方法是使用array:

而不是@columns: 12

我做@columns: 12, twelfth

然后我提取值:

@columns-number: extract(@columns, 1);
@columns-class: extract(@columns, 2);

我可以使用mixin:

来定位值和类名
.@{columns-class} {
   .column(@columns-number);
}