1.Vue中安装Less
安装
| |
| npm install less less-loader |
main.js
| import less from 'less' |
| Vue.use(less) |
备注:一般会出现报错,如:

原因:less-loader版本过高
解决办法:
| npm uninstall less-loader |
| npm install less-loader@4.1.0 |
2.使用
手册:https://less.bootcss.com/#%E6%A6%82%E8%A7%88
概念
Less (Leaner Style Sheets 的缩写) 是一门向后兼容的 CSS 扩展语言。
内容
变量
| @width: 10px; |
| @height: @width + 10px; |
| |
| #header { |
| width: @width; |
| height: @height; |
| } |
混合
| .bordered { |
| border-top: dotted 1px black; |
| border-bottom: solid 2px black; |
| } |
| |
| .post a { |
| color: red; |
| .bordered(); |
| } |
嵌套
| #header { |
| color: black; |
| .navigation { |
| font-size: 12px; |
| } |
| .logo { |
| width: 300px; |
| } |
| } |
伪选择器(pseudo-selectors)与混合(mixins)一同使用
| .clearfix { |
| display: block; |
| zoom: 1; |
| |
| &:after { |
| content: " "; |
| display: block; |
| font-size: 0; |
| height: 0; |
| clear: both; |
| visibility: hidden; |
| } |
| } |
@media @ 规则会被放在前面,同一规则集中的其它元素的相对顺序保持不变。这叫做冒泡(bubbling)
| .component { |
| width: 300px; |
| @media (min-width: 768px) { |
| width: 600px; |
| @media (min-resolution: 192dpi) { |
| background-image: url(/img/retina2x.png); |
| } |
| } |
| @media (min-width: 1280px) { |
| width: 800px; |
| } |
| } |
运算
| // 所有操作数被转换成相同的单位 |
| @conversion-1: 5cm + 10mm; // 结果是 6cm |
| @conversion-2: 2 - 3cm - 5mm; // 结果是 -1.5cm |
calc()
为了与 CSS 保持兼容,calc() 并不对数学表达式进行计算
转义
允许使用任意字符串作为属性或变量值
| @min768: ~"(min-width: 768px)"; |
| .element { |
| @media @min768 { |
| font-size: 1.2rem; |
| } |
| } |
从 Less 3.5 开始,可以简写为
| @min768: (min-width: 768px); |
| .element { |
| @media @min768 { |
| font-size: 1.2rem; |
| } |
| } |
函数
参见:函数手册
| #bundle() { |
| .button { |
| display: block; |
| border: 1px solid black; |
| background-color: grey; |
| &:hover { |
| background-color: white; |
| } |
| } |
| .tab { ... } |
| .citation { ... } |
| } |
| |
| #header a { |
| color: orange; |
| #bundle.button(); // 还可以书写为 #bundle > .button 形式 |
| } |
映射
| #colors() { |
| primary: blue; |
| secondary: green; |
| } |
| |
| .button { |
| color: #colors[primary]; |
| border: 1px solid #colors[secondary]; |
| } |
作用域
| @var: red; |
| |
| #page { |
| @var: white; |
| #header { |
| color: @var; // white |
| } |
| } |
注释
| |
| |
| @var: red; |
| |
| // 这一行被注释掉了! |
| @var: white; |
导入
| @import "library"; // library.less |
| @import "typo.css"; |
本文作者:轻风细雨_林木木
本文链接:https://www.cnblogs.com/linzhifen5/p/16961052.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步