当前位置: 首页 > news >正文

LESS基础用法详解

LESS 基础用法详解

目录

  • LESS 基础用法详解
    • 1. 变量(Variables)
    • 2. 嵌套(Nesting)
    • 3. 混合(Mixins)
      • 3.1 基本混合
      • 3.2 带参数的混合
    • 4. 运算(Operations)
    • 5. 函数(Functions)
      • 5.1 颜色函数
      • 5.2 数学函数
    • 6. 作用域与变量覆盖
    • 7. 导入(Import)
    • 8. 选择器插值(Selector Interpolation)
    • 9. 继承(Extend)
    • 10. 注释
    • 11. 条件语句(Guards)
    • 12. 循环(Loops)

LESS(Leaner Style Sheets)是一种动态样式语言,它在 CSS 的基础上增加了变量、嵌套、混合、运算、函数等特性,使得样式表更加灵活、可维护。本文将详细介绍 LESS 的所有基本用法,帮助你快速掌握 LESS 的核心语法和功能。


1. 变量(Variables)

LESS 允许你为常用的值(如颜色、字体大小等)定义变量,便于统一管理和修改。

@primary-color: #4CAF50;
@font-size: 16px;body {color: @primary-color;font-size: @font-size;
}

注意: 变量名以 @ 开头。


2. 嵌套(Nesting)

LESS 支持样式的嵌套,类似于 HTML 结构,增强了代码的可读性。

nav {ul {margin: 0;padding: 0;li {display: inline-block;a {color: @primary-color;}}}
}

3. 混合(Mixins)

混合(Mixin)允许你定义一组样式,然后在其他选择器中复用这些样式。

3.1 基本混合

.rounded-corner {border-radius: 5px;-webkit-border-radius: 5px;
}.button {.rounded-corner;background: @primary-color;
}

3.2 带参数的混合

.box-shadow(@x: 0, @y: 0, @blur: 5px, @color: #333) {box-shadow: @x @y @blur @color;
}.panel {.box-shadow(2px, 2px, 10px, #666);
}

4. 运算(Operations)

LESS 支持对数值、颜色等进行加减乘除等运算。

@base: 10px;.box {width: @base * 2;   // 20pxheight: @base + 5;  // 15pxmargin: @base / 2;  // 5px
}

颜色也可以运算:

@color: #888;.header {color: @color + #111; // #999999
}

5. 函数(Functions)

LESS 内置了许多实用的函数,如颜色操作、字符串处理、数学运算等。

5.1 颜色函数

@base: #f04615;.light {color: lighten(@base, 20%); // 变亮
}
.dark {color: darken(@base, 20%);  // 变暗
}
.alpha {color: fade(@base, 50%);    // 设置透明度
}

5.2 数学函数

@width: 100px;.box {width: ceil(@width / 3);   // 向上取整height: floor(@width / 3); // 向下取整margin: round(@width / 3); // 四舍五入
}

6. 作用域与变量覆盖

LESS 变量有作用域,嵌套作用域内可以覆盖外层变量。

@color: red;.box {@color: blue;color: @color; // blue
}.text {color: @color; // red
}

7. 导入(Import)

LESS 支持 @import 导入其他 LESS 文件,便于模块化开发。

@import "reset.less";
@import (less) "theme.less";

注意: LESS 会自动识别 .less 后缀。


8. 选择器插值(Selector Interpolation)

可以通过变量动态生成选择器。

@name: banner;.@{name}-title {font-size: 24px;
}

编译后:

.banner-title {font-size: 24px;
}

9. 继承(Extend)

通过 :extend 关键字实现选择器继承。

.button {padding: 10px;color: white;
}.primary-btn:extend(.button) {background: @primary-color;
}

10. 注释

LESS 支持单行(//)和多行(/* ... */)注释。

// 这是单行注释
/* 这是多行注释 */

11. 条件语句(Guards)

LESS 支持在混合中使用条件判断。

.set-color(@color) when (lightness(@color) >= 50%) {color: black;
}
.set-color(@color) when (lightness(@color) < 50%) {color: white;
}.text {.set-color(#ddd);
}

12. 循环(Loops)

LESS 通过递归混合实现循环。

.loop(@i) when (@i > 0) {.item-@{i} { width: (10px * @i); }.loop(@i - 1);
}
.loop(5);

相关文章:

  • 现代健康养生指南
  • 进销存管理系统:Java+Vue,含源码及文档,集成采购、销售、库存管理,实现数据互通,提升运营效率
  • 场景化应用实战系列六:检索问答系统
  • 力扣HOT100之二叉树: 236. 二叉树的最近公共祖先
  • ros2 多线程节点调度MultiThreadedExecutor
  • C++线程池----基于生产者消费者模式队列实现
  • 多元回归的假设检验
  • 算法题(153):哈夫曼编码
  • ArkTs中的尾随闭包
  • Linux系统:基础命令之 ls~pwd~cd
  • scratch课后一练--事件模块
  • 操作系统结构
  • Java字节码文件解析
  • 101个α因子#25
  • android:exported=“true“的作用
  • 【DAY26】函数专题1:函数定义与参数
  • 软考高项考前48小时冲刺:核心考点记忆 + 错题复盘 + 3 科重点
  • 先进先出(FIFO)页面置换算法
  • CentOS7安装 PHP-FPM 7.4
  • git@gitee.com: Permission denied (publickey). fatal: 无法读取远程仓库
  • 网络优化网站 s/鞍山seo公司
  • 营销网站建设苏州/推广普通话手抄报句子
  • 电子商务系统 网站建设/湘潭网站建设
  • 南昌县网页设计/昆明百度搜索排名优化
  • 宁波网站建设设计/百度推广客户端下载
  • 成都微信网站建设/哈尔滨关键词排名工具