Hasty Briefsbeta

双语

Beej's Bit Bucket

a day ago
  • CSS缺乏变量,导致像主题色这样的硬编码常量难以维护。
  • m4是一种宏处理器,可以替代字符串,从而轻松更新CSS值。
  • 基本用法:用`define(`NAME', `value')`定义一个宏,并在CSS中使用;运行`m4 file.css.m4 > file.css`。
  • m4中的引号使用反引号(`)作为开始,撇号(')作为结束,以防止宏展开。
  • `dnl`指令删除define行后的换行符,以避免输出中出现多余的空行。
  • 宏名称后的括号(例如`THEMECOLOR()`)允许宏与其他文本相邻放置。
  • 可以通过`include()`或`sinclude()`包含外部文件,实现模块化CSS。
  • 使用`eval()`可以进行整数运算,例如`eval(XPOS + 40)`用于计算位置。
  • m4也可用于HTML,但由于缺乏多字节支持和潜在的复杂性,需要谨慎使用。
  • 还有其他CSS专用工具如Less和Sass,但m4轻量、符合POSIX标准且广泛可用。