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

less 笔记

<link rel="stylesheet/less" type="text/css" href="styles.less" />
<script src="https://cdn.jsdelivr.net/npm/less@4" ></script>

变量(Variables)

原生已支持 --前缀定义属性 var() 函数获取变量值
原生缺点 不能直接外部定义全局变量

@ 前缀定义变量
使用是 直接用变量名

变量可直接参与算术运算

混合(Mixins)

原生只能通过类的方式来组合样式规则,
对于常用组合,要么复制样式创建一个类,要么对应添加类名的组合

将一组属性从一个规则集包含(或混入)到另一个规则集的方法

使用 类选择器() or id选择器() 方式 混入到新的规则集,避免重复书写

* {#idName();.className();
}

嵌套(Nesting)

原生已完全支持
原生缺点 直接标签的嵌套 需要加 & 前缀 才能生效

@规则嵌套和冒泡

@ 规则会被放在前面,同一规则集中的其它元素的相对顺序保持不变。

避免了在规则内部 重新书写选择器的麻烦

运算(Operations)

原生已部分支持 calc 函数 使用任意 <length>

算术运算符在加、减或比较之前会进行单位换算。计算的结果以最左侧操作数的单位类型为准。
如果单位换算无效或失去意义,则忽略单位。
还可以对颜色进行算术运算 需要加括号
(#224488 / 2)

转义(Escaping)

允许你使用任意字符串作为属性或变量值

~"str"

在 Less 3.5+ 版本中,许多以前需要“引号转义”的情况就不再需要了。

函数(Functions)

逻辑函数、转换颜色、处理字符串、算术运算等

each 函数

遍历 list 并生成规则
@value, @key, and @index
在选择器和属性名中的写法 @{value}, @{key}, and @{index}

each(range(8), { // @value, @key, @index  // index 从1开始··· // 会被渲染 8 次
})

range 函数

生成 数字 list

函数手册

命名空间和访问符

#空间名() {
}

可以指定命名空间下的类或id进行混入,避免命名冲突

#空间名.button();

映射(Maps)

从 Less 3.5 版本开始,你还可以将混合(mixins)和规则集(rulesets)作为一组值的映射(map)使用。

#colors() {primary: blue;secondary: green;
}
color: #colors[primary];

可以理解为创建了枚举变量

作用域(Scope)

首先在本地查找变量和混合(mixins),如果找不到,则从“父”级作用域继承。

注释(Comments)

支持 js 的 // 行注释

导入(Importing)

可以导入一个 .less 文件,此文件中的所有变量就可以全部使用了。如果导入的文件是 .less 扩展名,则可以将扩展名省略掉

@import "library";

相关文章:

  • 线程池,及7大参数,4大拒绝策略详解
  • 实施工程师运维工程师面试题
  • QT 中 QProgressDialog 进度条窗口 备查
  • 网上选课系统源码(Java)
  • Springboot:kafka运行成功,报错InvalidTopicException
  • 【OpenGauss源码学习 —— (VecToRow)算子】
  • Mybatis XML 配置文件
  • 信号可靠性剖析
  • JVM之四种引用类型(五)
  • 使用 OpenFunction 在任何基础设施上运行 Serverless 工作负载
  • Python网络爬虫环境的安装指南
  • ES6中 对象合并
  • C++作业6
  • 第3章 接入网
  • VUE学习笔记(表单数据收集)
  • SegmentFault for Android 3.0 发布
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • ES6系列(二)变量的解构赋值
  • k8s如何管理Pod
  • PermissionScope Swift4 兼容问题
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • React 快速上手 - 07 前端路由 react-router
  • React16时代,该用什么姿势写 React ?
  • Windows Containers 大冒险: 容器网络
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 让你的分享飞起来——极光推出社会化分享组件
  • 深入 Nginx 之配置篇
  • 找一份好的前端工作,起点很重要
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • 通过调用文摘列表API获取文摘
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (1)(1.11) SiK Radio v2(一)
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (javascript)再说document.body.scrollTop的使用问题
  • (第27天)Oracle 数据泵转换分区表
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (五)MySQL的备份及恢复
  • (转)scrum常见工具列表
  • (转载)Linux网络编程入门
  • .gitignore
  • .gitignore文件_Git:.gitignore
  • .NET 服务 ServiceController
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .NET构架之我见
  • .net开发时的诡异问题,button的onclick事件无效
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [AIGC] MySQL存储引擎详解
  • [C# 开发技巧]实现属于自己的截图工具
  • [C++]——带你学习类和对象