less中的函数

#逻辑函数

  • (if(condition),value1,value2);
if(not (true), foo, bar);
if((true) and (2 > 1), foo, bar);
if((false) or (isstring("boo!")), foo, bar);
  • boolean()可以存储一个布尔值
@bg: black;
@bg-light: boolean(luma(@bg) > 50%);

div {
  background: @bg; 
  color: if(@bg-light, black, white);
}

#字符串函数

  • escape()

        转义:将url编码应用于输入字符串中的特殊字符。

escape('a=1')
//输出
a%3D1
  • e()

        字符串转义:期望字符串作为参数并按原样返回其内容,但不带引号。它可用于输出不是有效 CSS 语法的 CSS 值,或者使用 Less 无法识别的专有语法。

@mscode: "ms:alwaysHasItsOwnSyntax.For.Stuff()" 
filter: e(@mscode);
//输出
filter: ms:alwaysHasItsOwnSyntax.For.Stuff();
  • %(string, arguments ...)

         格式化字符串:第一个参数是带有占位符的字符串,所有占位符都以百分比符号%开头,后跟字母 s、SdDa、 或A,其余参数包含替换占位符的表达式。

        如果您需要将特殊字符转义为其 utf-8 转义码,请使用大写占位符。该函数转义除()'~!.之外的所有特殊字符。空间被编码为%20. 小写占位符保留特殊字符原样。        

        占位符:dDaA- 可以替换为任何类型的参数(颜色、数字、转义值、表达式等)。如果将它们与字符串结合使用,则将使用整个字符串 - 包括其引号。但是,引号按原样放置在字符串中,它们不会被“/”或任何类似的东西转义。sS- 可以替换为任何表达式。如果将它与字符串一起使用,则仅使用字符串值 - 省略引号。

        参数:string: 带占位符的格式字符串,anything* : 替换占位符的值。

format-a-d: %("repetitions: %a file: %d", 1 + 2, "directory/file.less");
format-a-d-upper: %('repetitions: %A file: %D', 1 + 2, "directory/file.less");
format-s: %("repetitions: %s file: %s", 1 + 2, "directory/file.less");
format-s-upper: %('repetitions: %S file: %S', 1 + 2, "directory/file.less");
//输出
format-a-d: "repetitions: 3 file: "directory/file.less"";
format-a-d-upper: "repetitions: 3 file: %22directory%2Ffile.less%22";
format-s: "repetitions: 3 file: directory/file.less";
format-s-upper: "repetitions: 3 file: directory%2Ffile.less";
  • replace()

        替换字符串中的文本    

        参数:string: 要搜索和替换的字符串。pattern:要搜索的字符串或正则表达式模式。                            replacement: 用来替换匹配模式的字符串。flags:(可选)正则表达式标志。

replace("Hello, Mars?", "Mars\?", "Earth!");
replace("One + one = 4", "one", "2", "gi");
replace('This is a string.', "(string)\.$", "new $1.");
replace(~"bar-1", '1', '2');
//输出
"Hello, Earth!";
"2 + 2 = 4";
'This is a new string.';
bar-2;

#列表函数

  • length()

你可能感兴趣的:(less,前端,css)