字符串函数
escape()函数
作用:
将输入字符串中的uri特殊字符进行编码处理
不转义编码:, / ? @ & + ' ~ ! $
转义编码:# ^ ( ) { } | : > < ; [ ] =
例子:
Less中编写
div{
d:escape('123=abc');
}
编译结果
div{
d:123%3Dabc;
}
e()函数
作用:Css转义,用~“值”符合代替。(作用其实就是原样输入内容,避免编译)
常见在calc属性中,避免less提前编译了结果
例子
Less中编写
div{
filter:e("ms:alwaysHasItsOwnSyntax.For.Stuff()");
filter:~"ms:alwaysHasItsOwnSyntax.For.Stuff()";
width:calc(960px-100px);
width:calc(~'960px-100px');
}
编译结果
div{
filter:ms:alwaysHasItsOwnSyntax.For.Stuff();
filter:ms:alwaysHasItsOwnSyntax.For.Stuff();
width:calc(860px);
width:calc(960px-100px);
}
%()函数
作用:函数%(string,arguments ...)
格式化一个字符串
补充知识:
less中占位符分为:a、A、d、D、s、S
a、A、d、D能被任何类型参数替换(颜色值、数字、转义值、表达式…),如果是在字符串中结合使用,整个字符串都会替换进去,包括它的引号,然后,引号会被替换到字符串参数的原来位置,可能被转义或者没有被转义,这取决于占位符是大写字母还是小写字母
s、S能被除了颜色值以外的任何类型的参数替换,如果在字符串中结合使用,只会替换成字符串参数的值,而字符串参数引号被忽略
例子:
Less中编写
/* a */
font-family:%("%a %a","Microsoft","YaHei");
/* A */
font-family:%("%A %a","Microsoft","YaHei");
/* d */
font-family:%("%d %d","Microsoft","YaHei");
/* D */
font-family:%("%D %d","Microsoft","YaHei");
/* s */
font-family:%("%s %s",red,"YaHei");
/* S */
font-family:%("%S %s",#FF6600,"YaHei");
编译结果
/* a */
font-family:""Microsoft" "YaHei"";
/* A */
font-family:"%22Microsoft%22 "YaHei"";
/* d */
font-family:""Microsoft" "YaHei"";
/* D */
font-family:"%22Microsoft%22 "YaHei"";
/* s */
font-family:"undefined YaHei";
/* S */
font-family:"undefined YaHei";
replace()函数
作用:用另一个字符串替换文本
例子
Less中编写
div{
content:replace("Hello,maizi","maizi","LESS");
}
编译结果
div{
content:"Hello,LESS";
}
长度相关函数
length()函数
作用:返回集合中的值的条数
例子
Less中编写
div{
content:length(1px solid #0080ff);
}
编译结果
div{
content:3;
}
extract()函数
作用:返回集合中指定索引的值
例子
Less中编写
div{
@list: "banana","tomato","potato","peach";
content:extract(@list,1);
}
编译结果
div{
content:"banana";
}