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. SQL Server – 基本操作 Table 和 Column

    前言 日常都是用 EF Core 来管理 Database, 偶尔也用 Management Studio, 就是很少手写 Command. 虽然网上一拉就有很多, 但是每次写单侧都要到处找还是挺烦的 ...

  2. 【QT界面美化】QT界面美化效果截图QSS+QML

    贴几个QT做的界面美化效果截图. 先来一张动图,有一些画面是QT Widgets + QSS实现的:另外一些画面是QT QML实现的. QT界面美化效果图QT QSS QML 补天云QT技术培训专家 ...

  3. 向量法求 T3 这个若智 r^2

    int sqr_vector_dis(node a){ return a.x*a.x+a.y*a.y; } frac vector_multi(node a,node b){ return frac( ...

  4. 关于 xfg 的班会

  5. HEOI2024 题目转存

    赛时测试数据下载 wind xor wormhole maze timeline sleep 题解参考 [省选联考 2024] 季风 题目背景 生活在二维平面的小 X 准备拜访小 Y,但由于气候的变化 ...

  6. 运维管理平台OEM定制集成开发,激发IT价值

    对硬件设备商而言,借助优秀的网管.运维管理平台,可以形成完整的产品解决方案,直接提升产品的形象和适用范围.同时还可以通过网管.运维管理平台,切入到外围的产品及集成领域,并在用户后续的升级改造活动中占据 ...

  7. redis 配置文件 - 启动redis 使用文件配置启动

    # Redis configuration file example. # # Note that in order to read the configuration file, Redis mus ...

  8. element设置table某个列的样式

    <el-table style="width: 100%;" height="250" :data="tableData" borde ...

  9. kotlin更多语言结构——>类型安全的构建器

    通过使用命名得当的函数作为构建器,结合带有接收者的函数字面值,可以在 Kotlin 中创建类型安全.静态类型 的构建器 类型安全的构建器可以创建基于 Kotlin 的适用于采用半声明方式构建复杂层次数 ...

  10. DiTAC:不知如何提升性能?试试这款基于微分同胚变换的激活函数 | ECCV'24

    非线性激活函数对深度神经网络的成功至关重要,选择合适的激活函数可以显著影响其性能.大多数网络使用固定的激活函数(例如,ReLU.GELU等),这种选择可能限制了它们的表达能力.此外,不同的层可能从不同 ...