Skip to content

Less - 其他函数

LESS 提供了一系列内置的杂项函数,它们是强大的工具,可以增强你的样式表编写能力。这些函数在 LESS 编译期间处理,有助于完成颜色解析 (color parsing)、单位转换 (unit conversion)、资产嵌入 (asset embedding) 和条件逻辑 (conditional logic) 等任务,从而生成更具动态性、更易于维护、更复杂的 CSS。

下表概述了 LESS 中的主要杂项函数,包括它们的作用和现代开发中的注意事项:

序号函数与描述
1color(string)
将颜色字符串(例如,“#FF0000”, “blue”)解析为 LESS 颜色对象 (color object)。当需要从字符串动态构建颜色值时非常有用。
2image-size(filePath)
在编译时检索图像文件的尺寸(宽度和高度)(例如,返回 100px 50px)。对于响应式设计 (responsive designs),可以考虑使用现代 CSS 技术,如 aspect-ratio 或基于 JavaScript 的解决方案,以便在浏览器中进行动态调整。
3image-width(filePath)
在编译时提取图像文件的宽度。与 image-size 类似,请对照现代响应式设计实践来评估其用途。
4image-height(filePath)
在编译时提取图像文件的高度。与 image-size 类似,请对照现代响应式设计实践来评估其用途。
5convert(value, targetUnit)
在兼容单位之间转换数值(例如,convert(16px, em),convert(1s, ms))。支持各种长度、时间、角度和频率单位。
6data-uri([mimetype,] filePathOrUrl)
将资源(如小型图片或字体)作为 Base64 编码的 Data URI 直接嵌入到样式表中。最适合 HTTP 请求开销大于 CSS 文件大小增加的小型资产。
7default()
在守卫条件 (guard conditions) 中使用的特殊函数。如果由于其自身的守卫失败,没有其他同名(且如果适用,同参数个数)的 mixin 匹配,则包含 default() 的守卫评估为 true,从而启用备用 mixin 实现。
8unit(dimension, [newUnit])
更改或移除尺寸 (dimension) 的单位 (unit)。例如,unit(10px, em) 尝试转换,而 unit(10px, '') 或 unit(10px) 的结果是数字 10。
9get-unit(dimension)
从尺寸值中提取单位,并将其作为字符串返回(例如,"px","em")。如果该值没有单位,则返回空字符串。
10svg-gradient(direction, colorStop1, colorStop2, …, colorStopN)
生成包含 SVG 标记的 Data URI,用于 <linearGradient> 或 <radialGradient>。示例:background: svg-gradient(to right, red, blue);。对于典型的 CSS 背景渐变,由于更广泛的直接 CSS 集成和性能特性,通常首选标准的 CSS linear-gradient() 和 radial-gradient() 函数。