首页 > 其他分享 >预处理器 Less 的十个语法

预处理器 Less 的十个语法

时间:2023-09-12 10:36:38浏览次数:37  
标签:混入 less Less 语法 处理器 使用 CSS

预处理器 Less 的十个语法

 

Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。

不过浏览器只能识别 CSS 语言,所以 Less 语言直接运行在浏览器端是不被识别的,需要我们通过一些方式将其先转成 CSS,再将 CSS 资源加载到浏览器中。

如何转换

根据使用场景不同,我们可以分别采用包管理工具/CDN资源的形式。

包管理工具

nodejs + webpack
在工程化项目中,我们使用 webpack 来对项目进行编译时,可以在 module 中定义处理 Less 资源的方式,本质上是使用 Less 工具来对 Less 资源进行转换,但 webpack 中是使用对应的 loader 来处理(需要安装 less、less-loader)。

nodejs + gulp
gulp 以流的形式执行定义的任务,它处理 Less 资源除了 less 工具,还需要安装 gulp-less 。

nodejs + vite
vite 中不需要多做任何配置,只需安装 less 工具。

CDN资源

当不适合使用包管理工具时,可以直接引入CDN的LESS编译代码,对LESS进行实时的处理。

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

这里需注意的是,link标签定义的 rel 需要是 stylesheet/less,这样后面的js资源才会将Less语法处理成CSS。

  • rel="stylesheet",会主动发送http请求获取css资源
  • rel="stylesheet/less",不会发送http请求
  • rel="stylesheet/less" + 处理less的js资源,先请求js文件,再发送获取stylesheet的css资源

Less转CSS预览

官方提供了可在线预览Less转CSS代码的工具(Less-preview),在这里可以看到每个语法到底做了怎样的转化,了解后更能按照自己所需要的场景选择。

语法

有了Less资源的处理工具后,可以开始放心大胆的编写Less语法啦~

一、兼容css
Less 是完全兼容 CSS 的,所有 CSS 代码都可以编写,导入的方式和 CSS 的用法是一致的,导入一个 .less 文件,此文件中的所有变量就可以全部使用,如果导入的文件是 .less 扩展名,则可以将扩展名省略掉。

二、使用变量
有些常用的主题色、字体,我们可能会使用一个固定的类名,当需要使用的时候在标签上叠加类名,这样使得类名很多,通过变量的形式,无需再多次添加类。

两种方式达到的效果是一致的,但是 Less 语法可维护性更强一些。

三、嵌套
CSS 中语法不能嵌套,为了保证代码的可阅读性,我们需要按照一定的顺序将样式依次从父元素定义到子元素,但在 Less 中就没有这个困扰,像层层包裹的形式来书写,可以清晰的看到父子级关系。

四、运算
运算这个功能不算好用,并不会像函数一样,比较“智能”的转换成我们需要的结果,比如设置高度,它没有进行单位转换,只是保留第一位的单位,再简单的加减乘除。

五、混入/混合
混入/混合 可以将多个css属性合成一组值(比如设置一行展示,超出长度显示省略号的样式),插入到其它选择器中。通过选择器加上小括号的形式使用,括号内也可以接受参数。

Less编写看起来是代码量变多,但使用起来却是更加灵活,能将它作为一个组合来使用,随意放置到所需要的地方。

六、映射
将混合、映射结合起来使用,可以弥补Less中不能自定义函数的缺陷,比如可以获取混入中定义的宽度,定义px转换rem的函数。

七、继承
语法:&:extend(选择器),生成的代码与混入不同,混入是直接将代码加到后面,继承用的是并集选择器。

开发中用混入更多,因为混入更灵活、语法更简洁、直接插入后面生成的css语法阅读性更强。

八、内置函数
除了 CSS 本身就有的 linear-gradient、calc、rgba,Less 还拓展了一些函数,比如颜色转换 color,数组取值 extract,条件判断 if,向上取整 ceil。

九、作用域
在查找一个变量时,首先在本地查找变量和混合, 如果找不到,则从“父”级作用域继承。

十、注释
在css中,只能使用块注释,在Less中,块注释和行注释都可以使用。

以上就是 Less语法 的介绍, 通过 Less,我们可以编写出更优雅、可读性更强、更易维护的 CSS 代码。下一篇将介绍 SASS的相关使用,更多有关 前端CSS 、JavaScript 的内容可以参考我其它的博文,持续更新中~

标签:混入,less,Less,语法,处理器,使用,CSS
From: https://www.cnblogs.com/sexintercourse/p/17695363.html

相关文章

  • less变量
     Less变量一、Less简介二、Less中的变量三、less外部引入 一、Less简介1.Less是一门css的预处理语言,less是一个css的增强版,通过less可以编写更少的代码实现更强大的样式。变量名以两条短横线命名例如:--color:red2.Less特点:less的语法大致和css语法一致,但......
  • Markdown语法
    字体Hello,World! 加粗使用**字体**Hello,World!  斜体 使用 *字体*Hello,World! 加粗斜体 使用  ***字体***Hello,World!  Hello,World!引用使用>Hello分割线使用 ---或者***图片![截图](图片地址)超链接跳转到Java学......
  • DSL查询分类和语法、查询全部
           ......
  • 装饰器双层语法糖三层语法糖以及装饰器修复与有参装饰器
    双层语法糖importtimedefouter(func):defget_time(*args,**kwargs):start_time=time.time()res=func(*args,**kwargs)#只能够统计index函数的时间end_time=time.time()print('执行时间:%s'%(end_time-start_time))......
  • MarkDown语法
    •推荐文本编辑器:Typora•文件后缀;xxx.md •样式:     标题     字体样式     链接,列表     表格      图片      代码      。。。。。......
  • ArcEngine打开表FROM子句语法错误
    在打开mdb属性表(Table时)中报错FROM子句语法错误。位置在ESRIArcGISGeodatabaseIFeatureWorkspaceOpenTable(StrinaName),分析数据后,发现是因为表名以~TEP开头。这是临时文件,无法打开,打开表时应该跳过这样的表。......
  • Lua04——基本语法
    1注释单行注释--单行注释多行注释--[[多行注释]]2标识符标识符用于定义变量,作为变量名在程序中使用。以字母及下划线开头,可以包含数字。需要注意的是:不能定义为下划线+大写字母,避免与Lua中的保留字冲突;标识符中不能包含@$%等特殊字符;lua中字母区分大小写3全局变量在默认情......
  • Vue源码学习(三):<templete>渲染第二步,创建ast语法树
    好家伙,书接上回 在上一篇Vue源码学习(二):<templete>渲染第一步,模板解析中,我们完成了模板解析现在我们继续,将模板解析的转换为ast语法树 1.前情提要代码已开源https://github.com/Fattiger4399/analytic-vue.git手动调试一遍,胜过我解释给你听一万遍functionstart......
  • 走进JavaScript基础语法
    点击链接走进前端学习:https://blog.csdn.net/qq_53810245/article/details/116831968@目录JavaScript1、概述2、基本语法入门2.1定义变量2.2浏览器控制台使用在这里插入图片描述2.3数据类型1.变量命名:以$或_开头标识2.number:3.字符串:'abc',''abc''4.布尔值:true,false5.逻......
  • Google Hacking语法总结
    GoogleHacking语法总结GoogleHacking是利用谷歌搜索的强大,来在浩瀚的互联网中搜索到我们需要的信息。轻量级的搜索可以搜素出一些遗留后门,不想被发现的后台入口,中量级的搜索出一些用户信息泄露,源代码泄露,未授权访问等等,重量级的则可能是mdb文件下载,CMS未被锁定install页面,网站......