1.less的介绍

Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展

官方文档

2.less需要编译才能被浏览器解析

  • 浏览器本身只能解析css文件,对于less无法解析,需呀解析后留浏览器才能解析
  • 在线解析:引入专门的js插件,对当前页面的less文件进行实时编译(生成css代码后通过插入style标签进行引入)
<link rel="stylesheet/less" type="text/css" href="styles.less" />
<script src="https://cdn.bootcss.com/less.js/3.10.3/less.js"></script>
  • 打包编译:利用node.js对less进行解析,输出对应的css文件

    (1)确保已安装node.js

    (2)在cmd环境下运行 npm install -g less

    (3)执行编译(将此目录下的test.less编译成test.css文件)
lessc test.less test.css

3.使用场景

  • 嵌套语法,让css结构清晰可见,且节省代码数量
  • 支持变量,方便系统性的调整样式(主题色,文字色,边框色)
  • 支持运算,进行变量运算
  • 支持混合,复用css代码
  • 支持引入,方便代码模块化
  • 支持函数,根据传入的参数输出对应的css代码

4.基本语法

  • 嵌套
.box{
width:100px;
height: 100px;
/*只针对子级div有效*/
> div{
display: float;
}
/*针对后代所有p标签都有效*/
p{
text-align:center;
}
}
  • 伪类和兄弟元素
div{
width:100px;
height: 100px;
// 伪类
&:nth-of-type(1){
background-color: red;
}
// 兄弟元素(相邻)
& + box2{
width:100px;
height: 100px;
background-color: blue;
}
}
  • 变量
/*定义变量*/
@gbColor:red; .box{
width: 200px;
height: 100px;
/*使用变量*/
background-color: @gbColor;
}

编译结果

.box {
width: 200px;
height: 100px;
background-color: red;
}
  • 运算:一般用于变量加减(乘除没有意义)
@conversion-1: 50px;
@conversion-2: 100px; .box {
//150px
width: @conversion-1 + @conversion-2;
}
  • 混合:引入其他css类中的属性
.addBorder{
border:1px solid red;
}
.box{
width:100px;
height: 100px;
/*引用其他css类*/
.addBorder();
}
  • 函数:相当于引用css类和变量的结合体
/*设置参数,且有默认的值*/
.addBorder(@size:1px){
border:@size solid red;
}
.box{
width:100px;
height: 100px;
/*引用并传递参数*/
.addBorder(10px);
}
  • 导入:你可以导入一个 .less 文件,此文件中的所有变量就可以全部使用了。如果导入的文件是 .less 扩展名,则可以将扩展名省略掉:
@import "library"; // library.less

5.总结

  • 简单页面建议直接使用css
  • 将项目需要用到的变量进行梳理,并封装到base.less中,作为基础文件被其他样式文件引用
  • 使用import将base.less导入到其他less文件中,以便使用其定义的变量

less 动态样式语言的更多相关文章

  1. Less (一种动态样式语言)

    Less (一种动态样式语言). LESS是一种由Alexis Sellier设计的动态层叠样式表语言,受Sass所影响,同时也影响了 Sass的新语法:SCSS. LESS是开源的,其第一个版本由R ...

  2. 动态样式语言Sass&Less介绍与区别

    一. Sass/Scss&Less是什么? Sass (Syntactically Awesome Stylesheets)是一种动态样式语言,语法跟css一样(但多了些功能),比css好写, ...

  3. less 一种 动态 样式 语言

    LESS « 一种动态样式语言 http://www.bootcss.com/p/lesscss/ 一种 动态 样式 语言. LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承,运算, 函数 ...

  4. 动态样式语言Less学习笔记

    介绍资料参见:http://www.bootcss.com/p/lesscss/ LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承,运算, 函数. LESS 既可以在 客户端 上运行 (支 ...

  5. 动态样式语言—LESS

    博客原文地址:Claiyre的个人博客 https://claiyre.github.io/ 博客园地址:http://www.cnblogs.com/nuannuan7362/ 如需转载,请在文章开 ...

  6. Bootstrap进阶六:动态样式语言LESS简介

    LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承, 运算, 函数. LESS 既可以在 客户端 上运行 (支持IE 6+, Webkit, Firefox),也可以借助Node.js或者R ...

  7. 动态样式语言—LESS基础知识

    CSS是一门非程序式语言,缺少逻辑性,不便于维护 LESS在CSS现有语法的基础上,为CSS加入程序式语言的特性 引入了变量.混入.运算.函数等功能,大大简化CSS的编写,降低了CSS的维护成本 LE ...

  8. Web前端一种动态样式语言-- Less

    变量 变量允许我们单独定义一系列通用的样式,然后在需要的时候去调用.所以在做全局样式调整的时候我们可能只需要修改几行代码就可以了. // LESS @color: #4D926F; #header { ...

  9. 动态样式语言less初识

    资料参考与http://lesscss.cn/ Bootstrap--(less)下载安装配置 http://lesscss.cn Less使用两种方法 (1)在客户端使用LESS--学习 编写 x. ...

  10. 深入理解脚本化CSS系列第五篇——动态样式

    前面的话 很多时候,DOM操作比较简单明了,因此用javascript生成那些通常原本是HTML代码生成的内容并不麻烦.但由于浏览器充斥着隐藏的陷阱和不兼容问题,处理DOM中的某些部分时要复杂一些,比 ...

随机推荐

  1. C# 裁剪PDF页面

    在处理PDF文档时,有时需要精确地裁剪页面以适应特定需求,比如去除广告.背景信息或者仅仅是为了简化文档内容.本文将介绍如何使用免费.NET控件通过C#实现裁剪PDF页面. 免费库 Free Spire ...

  2. Docker安装(安装Docker-CE)(三)

    现版本安装Docker已经非常简单了,有很多种方式,而自17年开始,Docker分为Docker-CE(社区版).Docker-EE(企业版),另外Docker-IO是较早的版本,通常用的都是Dock ...

  3. springboot整合shiro框架详解

    在ShiroRealm 中 对所有 引入的service 加上注解 @Lazy ,防止 事务回滚失败.具体原因看该文章 新增整合swagger2,因为之前整合了shiro,所以再访问swagger的时 ...

  4. 微信小程序上拉加载

    下面是一个示例,在个人使用的过程中按自己需求进行更改 创建一个DataController控制器 php artisan make:controller DataController 创建一个Data ...

  5. balance_dirty_pages_ratelimited分析

    balance_dirty_pages_ratelimited分析 nr_dirtied_pause:当前task的脏页门限: dirty_exceeded:全局的脏页数超过门限或者该bdi的脏页数超 ...

  6. 一些OI常用小技巧啊

    1.卡常 \[---总有人以为自己比编译器聪明 \;\;\;by\;\;bezel \] 我们可能确实没有编译器聪明,但是,为了防止CCF的老人机出现什么问题,卡一卡常还是有必要的. 如果实在被逼无奈 ...

  7. 墨天轮访谈 | OceanBase 白超:海量数据管理,为什么选择OceanBase?

    分享嘉宾:白超(大窑) OceanBase解决方案架构师.前蚂蚁集团数据库团队DBA专家 整理:墨天轮社区 导 读 大家好,我是白超(花名:大窑),在过去的几年中,作为蚂蚁集团数据库SRE团队成员,经 ...

  8. 66.有没有碰到过数组响应丢失(问的是ref和reactive的用法,什么情况下用)

    由于vue3使用proxy,对于对象和数组都不能直接整个赋值.  直接赋值丢失了响应性 只有push或者根据索引遍历赋值才可以保留reactive数组的响应性  : 可以使用 toRefs 解决这个问 ...

  9. Android复习(三)清单文件中的元素——>supports-gl-texture、supports-screens

    <supports-gl-texture> 注意:Google Play 会根据应用支持的纹理压缩格式对其进行过滤,以确保应用只能安装在可正确处理其纹理的设备上.您可以将纹理压缩过滤用作定 ...

  10. 牛逼!5K star! 推荐一款集监控和埋点于一体的前端性能监控工具!开源、简单易用、功能强大!

    在互联网的快速发展下,网站已成为企业和个人展示信息.提供服务的重要平台.然而,随之而来的网站性能问题也日益凸显,如加载速度慢.频繁出错.服务器故障.数据异常.网络攻击等.如何确保用户能够快速稳定地访问 ...