LESS从入门到精通

RK3568平台开发系列讲解(NPU篇)什么是RKNPU 📢本篇章将介绍RKNPU。 阅读详情

LESS从入门到精通

一、LESS是什么

LESS 是 CSS预处理语言,是 CSS 的扩展。

然后说说比较流行的几款预编译器:SASS/SCSS、LESS、Stylus。

SASS 学习网站:

LESS 学习网站:

Stylus 学习网站:

二、为什么用LESS

SASS/SCSS和Stylus都很强,但是我还是选择了LESS,个人喜欢NodeJS,然后stylus空格我又不喜欢,就用了LESS,现在用的也习惯了,下面就给大家介绍一下LESS的一些用法吧。

LESS——像写javascript一样书写css

特点:

  • 1、写样式更简单:嵌套
  • 2、使用方便:变量、运算、函数
  • 3、学习成本低:语法

三、怎么用LESS

1、安装使用

1.1 浏览器中使用
引用
<link rel="stylesheet/less" type="text/css" href="index.less" />
<!-- 必须加上/less -->
<script src="less-1.3.3.min.js"></script>
<!-- js必须在less后引用 -->

通过以上配置,在访问页面时,js会自动编译less为css

CDN:

https://cdnjs.cloudflare.com/ajax/libs/less.js/3.9.0/less.min.js

https://cdn.bootcss.com/less.js/3.9.0/less.js

观察模式

在每次保存文件后,调试时,总要进行手动刷新,于是有了观察模式

基本设置

<link rel="stylesheet/less" href="index.less">
<script>less = { env: 'development'};</script>//声明开发模式
<script src="less-1.3.3.min.js"></script>
<script>less.watch();</script>//调用观察模式

调用了观察模式后,就可以实现在每次保存时自动编译
观察模式的原理是每隔一段时间进行编译

扩展配置

在基础设置的后面添加script标签,内容如下

less = {
    // 开发环境development,生产模式production
    env: "development", 
    // 异步加载
    async: false, 

    // 在页面下异步读取导入
    fileAsync: false, 

    // 观察模式间隔
    poll: 1000, 

    // 使用函数
    functions: {}, 

    // 行信息输出comment、mediaQuery、all
    dumpLineNumbers: "all", 

    // 是否调整url为相对
    relativeUrls: false, 

    // 根路径
    rootpath: ":/"
};
1.2 使用node编译后使用

使用此方法需要先安装node

node下载链接:http://nodejs.cn/download/

安装了node之后,就可以正式安装 less 了

npm install -g less

当less文件写好后,就可以使用一下命令进行编译

lessc index.less index.css
1.3 gulp打包工具

使用此方法需要分别在 全局 与 项目 安装gulp

//全局
npm install -g gulp

//当前项目
npm install --save-dev gulp

然后在安装gulp的插件 gulp-less

npm install --save-dev gulp-less

安装完之后,创建入口文件 gulpfile.js,并写入:

var origin = './index.less'; //填写你需要转化的less文件的路径
var result = './'; //填写你转化后文件存在的目录路径
var gulp = require('gulp');
gulp.task('less2css', function(){
    gulp.src(origin)
    .pipe(less())
    .pipe(result);
})

至此,就可以通过输入 gulp less2css 命令进行编译了
但是,每次保存后都要去编译很麻烦,于是,补充以下代码

gulp.task('lessc', function(){
    gulp.watch('origin', ['less2css']);
})

现在只需要输入 gulp lessc 就可以实现less的观察者模式了

2、语法

保留CSS的基础语法,并进行了扩展

@import "reset.css" //less在编译时不会变动css文件
@import "base" //less导入其他less文件时可以省略文件格式
@import url("base.less") //less也可以使用url形式导入,但是必须有后缀

3、运算

在less中,可以在书写属性时直接进行加减乘除

例子:header插入了一个padding

@fullWidth: 1200px;
.header{
    width: @fullWidth – 20px * 2;
    padding: 0px 20px*2;
}

4、变量

4.1 格式:以@开头
@headergray: #c0c0c0;
@fullWidth: 1200px;
@logoWidth: 35%;
4.2 字符串插值
@name: banner;
background: url("images/@{name}.png") no-repeat;

编译:

background: url("images/banner.png") no-repeat;
4.3 避免编译
background: ~"red";

编译:

background: red;
4.4 移动端rem布局中的使用
@fullWidth: 750;
@toRem: unit(@fullWidth/10,rem);
header{
    height: 150/@toRem;
}

编译:

header{
    height: 2rem;
}

5、混合

5.1 在一个类中继承另一个类
.class1{ }
.class2{
    .class1;
}
5.2 用&替换当前选择器
a{
    color: #000;
    &:hover{
        color: #f00;
    }
}
5.3 在父类中嵌套子类
.class1{
    p{
        span{
            a{ }
        }
        &:hover{  }
    }
div{  }
}
5.4 带参混合
.color(@color=red){
    color: @color;
}
.class1{
    .color(#0f0);
}
.class2{
    .color();
}

6、函数

6.1 逻辑控制

格式:statement when(conditons)、prop: if((conditions),value);

例子1:在less中使用一个带参类名展示上下左右四个方向的纯CSS三角形
  • index.less
.base(){
    width: 0;
    height: 0;
}
@normal: 20px solid transparent;
@anger: 20px solid #f00;
.triangle(@val) when(@val=left){
    .base();
    border-left: none;
    border-right: @anger;
    border-top: @normal;
    border-bottom: @normal;
}
.triangle(@val) when(@val=right){
    .base();
    border-right: none;
    border-left: @anger;
    border-top: @normal;
    border-bottom: @normal;
}
.triangle(@val) when(@val=top){
    .base();
    border-left: @normal;
    border-right: @normal;
    border-top: none;
    border-bottom: @anger;
}
.triangle(@val) when(@val=bottom){
    .base();
    border-left: @normal;
    border-right: @normal;
    border-top: @anger;
    border-bottom: none;
}
.div1{
    .triangle(left);
}
.div2{
    .triangle(right);
}
.div3{
    .triangle(top);
}
.div4{
    .triangle(bottom);
}
  • index.html
<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet/less" href="index.less">
        <script src="../less-1.3.3.min.js"></script>
    </head>

    <body>
        <div class="div1"></div>
        <div class="div2"></div>
        <div class="div3"></div>
        <div class="div4"></div>
    </body
</html>
例子2:根据条件控制属性值
background: if( (true), #f00 );
6.2 循环

例子:将8个td的背景依次更换为bg_1.png、bg_2.png、…、bg_8.png

table td{
    width: 200px;
    height: 200px;
    .loop(@i) when(@i<9){
        &:nth-child(@{i}){
            background: url(~"../images/partner_@{i}.png") no-repeat;
        }
        .loop(@i+1);
    }
    .loop(1);
}
6.3 列表
@backgroundlist: apple, pear, coconut, orange;
6.4 less函数库
image-size(“bg.png”) //获取图片的Width和Height
image-width() //获取图片的Width和Height
image-height() //获取图片的Width和Height
convert(9s, ms) //转换9秒为毫秒
convert(14cm, mm) //转换14厘米为毫米

更多函数参考官方函数库,包括混合函数、数学函数、字符串函数、列表函数等等

7、使用JS表达式

less中还可以引用js表达式,不过一般都不推荐使用,此种方式在使用nodejs将less编译css时可能会报错。

格式:`javascript`

例子:将高度设置为当前获取到的浏览器的高度

@fullHeight: unit(` window.screen.height `, px);
div{
    height: @fullHeight;
}

那么问题来了,是否可以尝试将 @width: unit(` window.screen.width `, px) 引进 vw布局 呢?

不推荐,不建议less在正式环境中使用,使用LESS时需要在头部引入js,而在js执行时的时候,会消耗时间,而less编译需要在js执行后,会在一定程度上影响到性能。

蓝牙模块HM-10手册 蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。 立即下载

相关推荐

十三、FLUENT蒸发/冷凝模型实战:从沸腾模拟到常温蒸发的UDF进阶

本文深入探讨FLUENT蒸发/冷凝模型的应用实践,从沸腾模拟到常温蒸发的UDF进阶。通过分析相变模型的核心逻辑、关键陷阱及UDF动态饱和温度场的实现,帮助工程师准确模拟不同场景下的蒸发/冷凝过程。结合太阳能蒸馏器等工程案例,提供优化方案和常见问题解决方案,显著提升模拟精度与效率。

weixin_42548893的博客 571

Less入门视频教程

本课程以通俗易懂的方式讲解Less技术,课程内容包括:1.Less简介、基本用法2.变量、混合Mixin、导引表达式3.运算、函数4.嵌套5.继承6.导入import通过多个案例逐一讲解Less的用法,通俗易懂,最适合初学者的教程!

告别卡顿!手把手教你用北鲲云超算平台图形化提交COMSOL仿真任务(附RDP连接技巧)

本文详细介绍了如何利用北鲲云超算平台图形化提交COMSOL仿真任务,解决本地计算资源不足导致的卡顿问题。通过云端高性能计算,用户可轻松配置多核CPU和大内存资源,实现高效仿真计算,并附有RDP连接优化技巧,提升远程操作体验。

weixin_42519781的博客 380

Less / Scss教程:从入门到精通(三种使用方法)附源代码和代码案例效果

Less(Leaner Style Sheets)是一种 CSS 预处理器,它扩展了 CSS 语言,增加了变量、混合(mixin)、函数等特性,使 CSS 更易维护和扩展。Less 可以运行在客户端或服务器端。Less 作为 CSS 预处理器,通过引入变量、混合、嵌套、运算等特性,大大提高了 CSS 的可维护性和开发效率。它与 CSS 完全兼容,可以轻松集成到现有项目中。掌握 Less 可以让你的样式开发更加高效和规范。希望这篇教程能帮助你快速上手 Less!如果想了解更多细节,可以访问。

2401_85751940的博客 1134

腾讯会议录屏损坏修复:使用 recover_mp4 工具的完整解决方案

腾讯会议录屏损坏修复指南 当腾讯会议录屏因电脑蓝屏等意外导致MP4文件损坏时,可使用recover_mp4工具结合FFMPEG进行修复。操作步骤包括:1)准备相同参数正常视频作为参考;2)分析正常视频生成结构文件;3)分离损坏视频的音视频流;4)使用FFMPEG重新封装。该方法能有效修复因意外中断导致的视频索引损坏问题。修复前需将工具和文件放在同一目录下,并确保参考视频与损坏录屏的参数完全一致。

m0_62498496的博客 2627

ROS2 -Jazzy 一步一步(第一步_工作空间以及编译)

文件夹作用特点是否需要手动创建/维护src存放自己写的 ROS 2 包一个 workspace 可以有多个包需要手动创建build保存编译过程中的中间文件每个包生成对应子目录自动生成,可删除install保存编译完成后的功能包每个包有独立子目录,含可执行文件自动生成,可删除log保存编译日志用于查看错误原因、调试自动生成,不需修改colcon是 ROS 2 推荐使用的构建工具自动处理功能包的依赖和编译顺序一条命令就能编译整个工作空间。

jerrykorea的博客 1380

【Less】Less 上手教程(通俗易懂 + 详细代码 + 常用业务场景)

一文直接上手前端Less教程

silverclayz的技术分享 1750

使用 Simulink 实现基于相控阵雷达的波束形成技术

摘要:本文详细介绍了利用MATLAB Simulink和Phased Array System工具箱实现相控阵雷达波束形成的完整流程。主要内容包括:1)创建Simulink模型;2)设计天线阵列参数;3)信号生成模块配置;4)波束形成算法实现;5)结果可视化方法;6)仿真调试与优化;7)代码导出与部署。通过分步指导,读者可以掌握从理论到实践的完整开发流程,包括关键参数设置和算法实现示例。该方案适用于军事、气象等领域的雷达系统开发,并支持后续嵌入式和智能算法集成。

xiaoheshang_123的博客 181

CSS预处理器之Less详解

本文最初发表于博客园,并在GitHub上持续更新前端的系列文章。欢迎在GitHub上关注我,一起入门和进阶前端。 以下是正文。 CSS 预处理器 为什么要有 CSS 预处理器 CSS基本上是设计师的工具,不是程序员的工具。在程序员的眼里,CSS是很头痛的事情,它并不像其它程序语言,比如说PHP、Javascript等等,有自己的变量、常量、条件语句以及一些编程语法,只是一行行单纯的属性描述...

weixin_33739541的博客 221

从通用到定制:营销Agent如何跨越数据鸿沟,实现对话SOP的个性化飞跃

从通用到定制:营销Agent如何跨越数据鸿沟,实现对话SOP的个性化飞跃

丨汀、的博客 656

Open3D (C++) 计算点云坐标最值及其索引

使用C++版本的Open3D计算点云最值点及其对应的下标索引

点云侠的博客 730

LESS学习笔记

less是css的预处理器也称为超集,是基于JavaScript编写,能够通过程序语言预处理的方式提高css代码复用性,减少css代码的冗余程度。

m0_59844638的博客 290

正点原子stm32f103RChal库制作数字秒表:如用keil5和正点原子STM32F1开发板实现?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!    📌 特别说明: 文中部分技术问题来源于真实生产环境及网络公开案例,均经过精挑细选与系统化整理,并结合多位一线资深架构师和工程师多年实战经验沉淀,提

**My Coding Family** 1264

less 入门到精通

前言 什么是less css预编译器 可以扩展css语言 允许变量 混合 函数 使css 更具维护性主体性 拓展性 提示:以下是本篇文章正文内容,下面案例可供参考 1.初见 less 嵌套写法 .ul { list-style:none; .li{ height:20px; a{ color:#fff; } } } 2.正确使用less 编译工具 Koala winLess CodeKit 客户端调试 首先引用.less文件 link引入 stylesheet/less

qq_41093271的博客 245

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【前端开发】Less从入门到精通全攻略

Less 作为 CSS 预处理器,凭借变量、嵌套、混合等丰富特性,极大地提升了前端样式开发的效率和可维护性。从解决传统 CSS 痛点出发,到深入学习核心语法,再到实战演练与问题解决,相信你已对 Less 有了全面且深入的理解。

大雨淅淅的博客 1797

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Less 教程:从入门到精通

Less 是一种流行的动态样式表语言,它扩展了 CSS 的功能,使其更加强大和灵活。通过本教程,我们将深入探讨 Less 的基本概念、特性以及如何在项目中实际应用它。

wjs2024的博客 733

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

从入门到精通学less(待补充)

从入门到精通学less(待补充) 转载于:https://www.cnblogs.com/zzcit/p/5557411.html

dh0536的博客 122

Vue Router 命名视图(Named Views)完整指南:多路由出口与嵌套命名布局实战

命名视图是 Vue Router(Vue 2 官方路由库)中用于实现"一屏多出口"布局的核心机制:它允许你在同一个页面中同时渲染多个组件,而无需将它们互相嵌套。本文以 vue-router 仓库中的官方文档为基础,结合 [RouterView 源码](https://link.gitcode.com/i/2282aecdb46f03d572841413658a6371)、[路由表构建逻辑](htt

gitblog_01172的博客 862

从入门到精通Less,详解基本使用技巧!

Less(Leaner Style Sheets 的缩写) 是一门向后兼容的CSS扩展语言。,它扩展了CSS(层叠样式表)的功能并提供了更灵活、更强大的样式定义和管理机制。

575

Less从入门到精通——变量与混合(附学习视频、源码及笔记)

完整学习视频及资料在这里哦~ 链接:https://pan.baidu.com/s/1XHxElnc2N-qwg2f2J30Qyw 提取码:4k8t 变量(variables)        Less中采用“ @ ”定义变量,使用时直接使用“@命名符”。 1. 作为普通变量 // 命名: @color:red; // 调用: div{ color:@color; }     &nbs

kMONSTER4的博客 341

Less从入门到精通——引入(附学习视频、源码及笔记)

完整学习视频及资料在这里哦~ 链接:https://pan.baidu.com/s/1XHxElnc2N-qwg2f2J30Qyw 提取码:4k8t 引入(importing) 引入less文件 我们可以引入一个或多个 .less 文件,然后再这个文件中的所有变量都可以在当前 less 文件中使用。 语法:@import " ×××" ;里面为需要引入less文件的相对路径,若和当前文件同一目录,则直接写被引入文件的名字,如commont,若是外一层,则为../commont,依次类推。 // 在同一目

kMONSTER4的博客 7567

如何用goshs创建带下载次数和有效期限制的安全文件分享链接

goshs 是一款功能丰富的单二进制文件服务器,面向红队和开发者场景。它内置的 Share Links(分享链接)功能可以为任意文件或目录生成带**下载次数限制**和**有效期**的安全链接,到期或用完次数后自动失效,比 `python3 -m http.server` 的裸目录浏览安全得多。 [![goshs单二进制文件服务器,支持带次数和有效期限制的分享链接](https://raw.git

gitblog_00493的博客 827

Less:革命性CSS预处理器完全指南——从入门到精通

Less是一款功能强大的CSS预处理器,它通过添加变量、混合、函数等特性,彻底改变了CSS的编写方式,让样式表更具可维护性、可扩展性和主题化能力。无论是前端新手还是资深开发者,掌握Less都能显著提升CSS开发效率,轻松应对复杂项目的样式管理挑战。 ## 为什么选择Less?5大核心优势解析 ### 1. 变量系统:实现样式的统一管理与快速修改 Less允许你定义变量存储颜色、尺寸等常用值,一

gitblog_00440的博客 785

Less从入门到精通——作用域(附学习视频、源码及笔记)

完整学习视频及资料在这里哦~ 链接:https://pan.baidu.com/s/1XHxElnc2N-qwg2f2J30Qyw 提取码:4k8t 作用域     相信在座的各位都多多少少听说过吧,Less中的作用域也确实和编程语言的作用域类似。作用域可以理解为可以被访问的区域。     但编译器解析到一个变量或混合时,会先从当前范围开始查找,也就当前所在的{ },找不到再去外层也就是父级的作用域开始查找,依次类推。 // 在变量那一章我们也提到了作用域 // 现在再来练习一下吧 @color:pink;

kMONSTER4的博客 437

前端-CSS预处理-Less

Less (Leaner Style Sheets 的缩写) 是一门向后兼容的 CSS 扩展语言。这里呈现的是 Less 的官方文档(中文版),包含了 Less 语言以及利用 JavaScript 开发的用于将 Less 样式转换成 CSS 样式的 Less.js 工具。因为 Less 和 CSS 非常像,因此很容易学习。而且 Less 仅对 CSS 语言增加了少许方便的扩展,这就是 Less 如此易学的原因之一。官网地址视频教程【优极限】Less教程丨扩展CSS语言前端必学必会(从入门到精通)

qq_31362933的博客 118

webpack从入门到精通----(三)css-loader 及 less-loader

第四课 less/css Loader 安装 yarn add css-loader style-loader less-loader less -D 在 webpack.config.js 文件中 使用 module: { // 模块 rules: [ // 规则 css-loader 主要用于解析 @import 语法的 // style-loader 他是把 c...

刘泽美的博客 577
下一篇: JavaScript变量转换
failte
博客等级 码龄11年 1粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值