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

less学习笔记

一、什么是less?

Less是CSS预处理语言,可以使用变量、嵌套、运算等,便于维护项目CSS样式代码。

二、less安装

使用npm包管理工具,全局安装less包

npm install -g less

less安装好的同时,lessc也安装好了

通过 lessc -v 可查看lessc的版本

lessc的作用:

        将less文件转成css文件

lessc 文件名.less 文件名.css

在浏览器端使用less

<link rel="stylesheet/less" type="text/css" href="styles.less" />
<script src="//cdnjs.cloudflare.com/ajax/libs/less.js/3.11.1/less.min.js"></script>

在VScode中配置less

1、在扩展中搜索Easy LESS并安装

2、点击设置找到Easy LESS,并在setting.json中编辑

3、在less.compile中添加配置项outExt

"less.compile": "compress": false, // true => remove surplus whitespace"sourceMap": false, // true => generate source maps (.css.map files)"out": true, // false => DON'T output .css files (overridable per-file, see below)"outExt":".css" },

配置完成后重启VScode即可

三、less语法

1、注释

less文件的注释有两种

        以//开头的注释,不会被编译到css文件中

        以/**/包裹的注释会被编译到css文件中

2、变量

变量可以当做普通的变量、选择器变量、属性变量、URL变量、声明变量来使用。

使用@来声明一个变量

        作为普通属性值使用:直接使用@pink

        作为选择器和属性名:#@{selector的值}的形式

//作为普通属性值来使用
@color:pink;//作为选择器和属性名,#@{selector的值}的形式
@m:margin;
@selector:#warp;* {@{m}:0;padding:0;
}@{selector} {background:@color;position:relative;
}

变量定义语法:

@变量名:值

变量使用语法:

@变量名

变量的作用域与JS中变量的作用域一致

普通变量

less:

@bgColor: #ffffff;.div {background-color: @bgColor;
}

编译后的css:

.div {background-color: #ffffff;
}

作为url:@{url}

变量的延迟加载

3、less中的嵌套规则

1、基本嵌套

2、&的使用:&代表平级

        如果less文件中不加&,编译出的css文件就变成#warp .inner hover,就是把hover当成子元素导致中间有空格;正确写法如下,&:hover相当于#warp .inner:hover

4、less的混合

混合就是将一系列属性从一个规则集引入到另一个规则集的方式

混合的分类:

        1、普通混合(会编译到css文件中)
        2、不带输出的混合(普通混合的基础上加括号,就不会编译到css文件中)
        3、带参数的混合
        4、带参数并且有默认值的混合
        5、带多个参数的混合
        6、命名参数
        7、匹配模式

5、arguments变量

使用arguments可以 在.border(1px,solid,black)不需要按照顺序写

6、less计算wmw

只要一个单位就可以计算

7、less继承

性能比混合高,灵活性比混合低

http://www.lryc.cn/news/368183.html

相关文章:

  • 基于关键词自动采集抖音视频排名及互动数据(点赞、评论、收藏)
  • selenium中switch_to.window切换窗口的用法
  • 【nerf】nvidia-smi
  • 测试工具fio
  • 详解 Flink 的状态管理
  • 手机怎么压缩视频?归纳了三种快速压缩方案
  • 【实战】kafka3.X kraft模式集群搭建
  • 华为防火墙配置 SSL VPN
  • Redis的删除策略与内存淘汰
  • 《一心体系至善算法》“人文+AI”成果
  • C#面:阐述对DDD的理解
  • 音视频开发19 FFmpeg 视频解码- 将 h264 转化成 yuv
  • Mysql 常用命令 详细大全【分步详解】
  • 基于百度接口的实时流式语音识别系统
  • AIGC作答《2024年高考作文|新课标I卷》能拿多少分?
  • WHAT - 发布订阅
  • React@16.x(23)useEffect
  • 算法竞赛一句话解题经典问题分析 ©ntsc 2024
  • 【TensorFlow深度学习】强化学习中的贝尔曼方程及其应用
  • 牛客 NC129 阶乘末尾0的数量【简单 基础数学 Java/Go/PHP/C++】
  • 【Spring Boot】异常处理
  • Laravel学习-自定义辅助函数
  • LLVM Cpu0 新后端6
  • GAT1399协议分析(9)--图像上传
  • Spring ApplicationContext的getBean方法
  • 自然语言处理(NLP)—— 自动摘要
  • Spring RestClient报错:400 Bad Request : [no body]
  • 【数据结构】 -- 堆 (堆排序)(TOP-K问题)
  • C#面:XML与 HTML 的主要区别是什么
  • java并发-如何保证线程按照顺序执行?