Less总结篇-CSS预处理语言

预处理器Less less是一种动态样式语言;为提高css应用的灵活性和效率,less将css赋予了动态语言的特性,如变量、继承、运算、函数。less既可以在客户端上运行,也可以借助Node.js在服务端运行。//用变量去定义变量 @fond : @ var;@ {}} 阅读详情

1.了解

Less是一门CSS预处理语言,它扩展了CSS语言,增加了变量,Mixin,函数等特性,使CSS更易维护和扩展。更少可以运行在Node或浏览器端。

2.使用方法

方法一:“袋鼠”工具,下载单独软件先在本地转译,再把生成的.css文件引入;

方法二:使用less的脚本进行实时转译,如下:

<link rel="stylesheet/less"  href="styles.less" />
...
<script src="less.js" type="text/javascript"></script>

注意: 
    1.link中自己写的less的rel=“stylesheet/less”;
    2.引入less脚本之前书写.less自书写需转译的less ;

方法三:使用npm全局安装less,然后逐步转译less文件

//安装
$ npm install -g less
//解析
$ lessc  styles.less
//解析完后保存
$ lessc styles.less > styles.css

方法四:在vue中使用less-loader,具体修改如下:

step1:安装 less 和 less-loader ,在项目目录下运行如下命令:
    npm install less less-loader --save-dev

step2:webpack.config.js中添加如下代码,对后缀为less的文件进行解析依赖
    module: {
        rules: [
            ...
            {
                test: /\.less$/,
                loader: "style-loader!css-loader!less-loader",
            }
        ]
    }

step3:页面中<style>标签中添加 lang="less"
    <style scoped lang="less"> ... </style>

3.语法

1、变量:其实本质是常量,因为它是不可变的,只允许定义一次。

@val001 : #5B83AD;                  //变量为:属性值
@val002 : color;                    //变量为:属性值
@val003 : className;                //变量为:类名
@val004 : "../image";               //变量为:url
@val005 : "../../themes";           //变量为:导入半路径
@val006 : "content string";         
@val007 : "val006";                 //变量为:变量名称

@import "@{val005}/backTheme.less";
div { 
    @{val002}: @val001; 
    content: @@val007;
    background: url("@{val004}/big/big.png");
} 
.@{val003}{ 
    font-size: 10px;
}
———————————————————————————————————————————————————————————————————————————————————————————
//输出
div { 
    color: #5B83AD; 
    content: "content string";
    background:yrl("../image/big/big.png");
}
.className{ 
    font-size:10px;
}

2、混入(Mixins):一组属性在其他样式中出现。

.redColor{                          //输出的被混入对象
    color:red;
}
.noshow(){                          //不输出的被混入对象
    padding:10px;
    &:hover{                        //属性的混入
        color:blue;
    }
}
.cont{
    font-size:16px;
    .redColor() !important;         //redColor里的所有属性都会带 !important
    .noshow;                        //有木有小括号都是可以的
}
—————————————————————————————————————————————————————————————————————————————————————————
//输出
.redColor{
    color:red;
}
//.noshow不会输出
.cont{
    font-size:16px;
    color:red !important;
    padding:10px;
}
.cont:hover{
    color:blue;
}

注意:
    1.混入时属性混入可以将()小括号去掉;
    2.可以使用类名,id名进行混入;
    3.不想要引用的样式输出,可以使用.noshow(){},加小括号的方式;

3、参数混入:可以理解成函数传递参数。

.mixin(@x:10px; @y:10px; @z:10px; @color:#aaa) {
    width:@x;
    height:@y;
    padding:@z;
    color:@color;
    box-shadom:@arguments;
}
.class1 {
    .mixin(@color:#ddd; @x:50px);
}
—————————————————————————————————————————————————————————————————————————————————————————
//输出
.class1 {
    width:50px;
    height:10px;
    padding:10px;
    color:#ddd;
    box-shadom:10px 10px 10px #ddd;
}

注意:
    1.传参可以对参数名称进行规定,如:@color
    2.传参可以设定默认的数值,如:@clor:#aaa
    3.传递参数可以是多个,如:@x:10px; @y:10px; @z:10px; @color:#aaa
    4.传参定义了名称,其传递的实际参数顺序无所谓,如:@color:#ddd; @x:50px
    5.@arguments类似一个伪数组,可以直接使用,如:box-shadom:@arguments
//特殊:混入作为函数
.mixin2(@x;@y){
    @wid:@x;
    @hei:@y;
}
.class2{
    .maxin2(10px,20px);
    width:@wid;
    height:@hei;
}
———————————————————————————————————————————————————————————————————————————————————————————
//输出
.class2 {
    width:10px;
    height:10px;
}

注意:
    1.混入可作为函数,进行调用,然后返回对应的变量再赋值,如:.maxin2(10px,20px);width:@wid;
//特殊:条件混入
.mixin (@a) when (@a >= 50%) {
  background-color: black;
}
.mixin (@a) when (@a < 50%) {
  background-color: white;
}
.mixin (@a) {
  color: @a;
}
.class1 { .mixin(#ddd) }
.class2 { .mixin(#555) }
——————————————————————————————————————————————————————————————————————————————————————————
//输出
.class1 {
  background-color: black;
  color: #ddd;
}
.class2 {
  background-color: white;
  color: #555;
}
//特殊:循环在混入中的使用
.generate-columns(4);
.generate-columns(@n, @i: 1) when (@i =< @n) {
    .column-@{i} {
        width: (@i * 100% / @n);
      }
    .generate-columns(@n, (@i + 1));
}
———————————————————————————————————————————————————————————————————————————————————————————
//输出:
.column-1 { width: 25%; }
.column-2 { width: 50%; }
.column-3 { width: 75%; }
.column-4 { width: 100%; }

4、嵌套:有父子关系的写在一起,接近于html的写法。

#header {
  color: black;
  .navigation {
    font-size: 12px;
  }
  .logo {
    width: 300px;
  }
}
———————————————————————————————————————————————————————————————————————————————————————————
//输出
#header {
  color: black;
}
#header .navigation {
  font-size: 12px;
}
#header .logo {
  width: 300px;
}

5、运算:利用+ - * / 进行计算得出最后的值并附上单位,常用的是宽高,百分比,颜色值

@val001:5px+10;      15px
@val002:5px+10px;    15px
@val003:5px+10cm;    15px
@val004:5%*2;        10%

注意:
    1.计算中出现多单位,单位以最左边单位为最终结果;
    2.计算中最好将单位标清楚,方便修改和设定;

6、格式化:使用“ ~ ”符号,允许任意字符串作为属性或属性值,并以原样返回

.weird-element {
  content: ~"^//* some horrible but needed css hack";
}
———————————————————————————————————————————————————————————————————————————————————————————
//输出
.weird-element {
  content: ^//* some horrible but needed css hack;
}

7、功能:可以转换颜色,操纵字符串和进行数学运算(使用较少,但在效果变更还是很实用的)

@base: #f04615;
@width: 0.5;

.class {
  width: percentage(@width); // returns `50%`        //将0.5%转换为50%
  color: saturate(@base, 5%);                        //将基色的饱和度增加5%
  background-color: spin(lighten(@base, 25%), 8);    //将背景颜色设置为减轻25%并旋转8度的颜色
}

8、范围作用域:类似js中局部和全局的感觉,不一样的是局部的变量可以在后边定义

@var: red;

#page {
  #header {
    color: @var;      //white
  }
  @var: white;        //引用后边定义变量
}

9、导入:导入外部的样式,可以是less或者css等

@import "foo";             foo.less
@import "foo.less";        foo.less
@import "foo.php";         foo.less
@import "foo.css";         foo.css
@import (optional, reference) "foo.less";    //指令控制导入文件

注意:
    1.导入的语句写在哪里都无所谓,但是建议写在最顶端;
    2.根据文件扩展名,有如下规范:
        (1)如果文件有.css扩展名,则将其视为CSS,并将@import语句保留为原样;
        (2)如果它有任何其他扩展名,它将被视为less并导入;
        (3)如果它没有扩展名,以扩展名.less进行导入;
    3.@import (keyword) "文件名称";这才是最全的导入语法,其中【keyword】代表指令,可进行一些导入 
      文件的控制,并支持多指令控制且用逗号分开,可选指令如下:
            reference: 使用Less文件但不输出
            inline:    在输出中包含源文件但不处理它
            less:      无论文件扩展名是什么,都将文件视为Less文件
            css:       无论文件扩展名是什么,都将文件视为CSS文件
            once:      只包含一次文件(默认就是包含一次)
            multiple:  多次包含该文件
            optional:  找不到文件时继续编译(默认找不到就停止编译了)

4.常用内置函数

//字符串
    替换:replace(字符串,要替换的文本,替换成文本,正则标志);
            replace("One + one = 4", "one", "2", "gi");    //2+2=4

//列表
    长度:length(list的变量名称);
            @listall:1,2,3,4;
            n: length(@listall);    //n: 4
    提取:extract(list的变量名称,下标数字);
            val: extract(@listall,2)    //val: 3

//数字
    取整:ceil(小数)    向上取整
         floor(小数)    向下取整
         round(小数,小数位数)    四舍五入(并保留几位小数)

 

 

 

【ODX介绍】-4.2-UDS诊断$27服务在ODX-D诊断描述文件中如何描述 共25页精讲:附ODX-D XML:UDS $27 Security服务0x61和0x62 Sub-Function,其它Sub-Function可参照其格式。 目录 1 ODX-D描述一个UDS $27 Security服务Sub-Function的结构 2 标签DIAG-SERVICE描述的内容 2.1 举例:DIAG-SERVICE的XML描述 3 标签REQUEST描述的内容 3.1 举例:REQUEST的XML描述 4 标签POS-RESPONSE描述的内容 4.1 举例:PO.. 阅读详情

相关推荐

使用DeepSeek、MCP和AKShare实现智能金融问答系统技术方案

DeepSeek是由深度求索公司开发的大规模语言模型,最新版本DeepSeek-V3采用混合专家(MoE)架构,拥有671B参数,激活37B参数,在多项基准测试中表现优异3。要使用DeepSeek的API服务:访问DeepSeek平台注册账号获取API Key(形如AKShare是基于Python的金融数据接口库,提供股票、基金、期货、宏观经济等领域的海量数据。主要特点包括:免费开源,数据源丰富支持多种数据格式(DataFrame/JSON)持续更新维护安装命令。

Kin 3173

less入门学习笔记

问题描述 在写CSS样式的时候,由于层次比较深,使用css嵌套的方式作用指定范围的样式是个不错的选择,直接用CSS写样式,会增加代码的复杂度,如果用sass就需要引入webpack或者后台编译器转换,如果工程比较小(只有一两个页面),使用webpack打包,就显得项目过于臃肿,因此,选择了less工具,在浏览器中可以直接访问 文章参考 less中文网站 less 介绍 CSS预处理器中Less...

黄彪博客 919

飞书多维表格省钱攻略:1个专业版账号,全员合规用、权限全掌控

像运动馆、 托管班、作业辅导、少儿美术、书法、口才班等等。对于大多数中小团队而言,飞书多维表格的核心需求是“协作高效、数据可控、成本可控”,而“1个专业版账号+多联系人”的模式,恰好完美契合这三点——既不用为不必要的席位付费,又能解锁全部专业功能,还能通过精细化权限管控保障数据安全。尤其是餐饮店、乒乓球训练馆这类个体经营或小型团队,人员分工清晰、权限需求明确,采用这种模式能最大化节省成本,同时提升管理效率。无需复杂的配置,无需额外的技术支持,5分钟就能搭建起全员协作的省钱体系。

涛涛讲AI 2215

预处理 less

目录 一、less概述 二、less编译工具 三、less中的变量 1. 使用@来声明一个变量 2. 变量的延迟加载 四、less的嵌套规则 1. 基本嵌套规则:父级、祖先等 2. &的使用: &代表的是平级 ​​ 五、less中的混合 1. less的混合概述 2. less的混合方式 3. 命名参数 6. 匹配模式 六、less运算 七、继承 八、避免编译 一、less概述 less是一种动态样式语言,属于css预处理器的范畴,它扩展了cs.

hhh_7789的博客 829

【算法】—前缀和与差分详解

前缀和指一个数组的某下标之前的所有数组元素的和(即数列的前n项求和),前缀和是一种重要的预处理,能够降低算法的时间复杂度,可以快速地求出某一段的和,对于处理区间之间的问题是往往十分高效相比较其他算法而言,前缀和更像是一种解题的技巧,一种优化方式输入一个长度为 n 的整数序列。接下来再输入 m 个询问,每个询问输入一对 l,r 对于每个询问,输出原序列中从第 l 个数到第 r 个数的和5 32 1 3 6 41 21 32 4123453610。

DAY I 的成长之路 6022

深度学习Halcon中GPU显存利用率高,但GPU、CPU利用率较低,导致模型训练速度很慢,通过设置硬件参数的解决方法

深度学习Halcon中GPU显存利用率高,但GPU、CPU利用率较低,导致模型训练速度很慢,通过设置硬件参数的解决方法 前言 在训练自己模型的时候,会遇到GPU显存利用率高,但GPU、CPU利用率较低,导致模型训练速度很慢的问题。这个问题一方面是由于硬件没有设置到最佳工作状态,另一方面是代码中参数没有设置好。最近在跑Halcon DL遇到这个问题,而Halcon不像开源的几个框架那样自由,代码封装的比较多。所以遇到这种问题,只能在参数最优的情况下,通过设置硬件参数来提升性能。 当然,在跑DL之前,无论什么框

ZiLiangQin的博客 9914

深入解析 Less 预处理器:基础到进阶的全面指南

Less 是一款动态样式语言,扩展了 CSS,提供了变量、嵌套、混合、函数等高级特性。通过 Less,可以写出更可读、易维护的样式代码。支持自定义逻辑的样式操作,提升样式控制力。@amount;.button {Less 极大提高了 CSS 的灵活性、复用性和可维护性。从基础到高级特性,掌握 Less 是构建高效、清晰的前端样式系统的重要一步。希望本篇文章帮助您更好地理解和应用 Less,在开发中游刃有余。

一名热衷于技术的全栈开发者,专注于前端与后端的全面技术探索。在这里,我将分享我在技术领域的学习与成长,助力更多开发者的进步。 1101

FreeCAD地下管道自动化建模实战:Python脚本从入门到导出OBJ

本文详细介绍了如何利用FreeCAD的Python API实现地下管道的自动化建模,从数据处理到模型导出OBJ格式的全流程。通过实战案例和代码示例,展示了圆形和矩形截面管道的创建方法,以及法兰连接等特殊处理技巧,大幅提升工程设计效率。

ff678的博客 248

详细介绍less(css预处理语言)

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

杜永康的博客 3791

即插即用篇 | 手把手教你 YOLOv11 添加注意力机制 | 适用于【检测任务】【分类任务】【分割任务】【关键点任务】| 20+ 种全打通!

即插即用篇 | 手把手教你 YOLOv11 添加注意力机制 | 适用于【检测任务】【分类任务】【分割任务】【关键点任务】| 20+ 种全打通!

Coding... 2831

Python爬虫实战:抓取统计数据并生成年度对比图表详解

国家统计局网站(静态HTML页面Excel文件JSON接口(部分新版API)我们将重点演示从统计公报页面抓取数据,结合解析Excel文件,实现多种数据格式爬取处理。本文从零开始搭建了一个爬取国家统计数据并制作年度对比图表的完整流程。读者可以根据实际需求调整爬取目标,丰富数据分析维度,甚至结合机器学习模型预测未来趋势。欢迎你在评论区留言分享你的爬虫实践,或提出改进建议!

2201_76125261的博客 1000

less是css预处理语言,CSS 预处理语言之 less 篇

less前言Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。安装客户端使用// 引入 .less 文件,rel 属性值为:“stylesheet/less”// 在引入 .less 文件之后,引入 less.js 文件,官网下载或者使用CDN;监控模式​ 是客户端的一个功能,当改变样式的时...

weixin_42538470的博客 575

大模型新闻摘要生成质量评估工具

大模型新闻摘要生成质量评估工具 关键词:大模型、新闻摘要、质量评估、自然语言处理、算法 摘要:本文将探讨大模型新闻摘要生成质量评估工具的设计与应用。首先介绍大模型新闻摘要生成的背景和问题,然后深入分析质量评估的难点和重要性,接着介绍大模型的

AI天才研究院 828

CSS 预处理语言之 less 篇

less 前言 Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。 安装 客户端使用 // 引入 .less 文件,rel 属性值为:“stylesheet/less” <link rel="stylesheet/less" type="text/css" href="inde...

weixin_30241919的博客 146

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

css 预处理语言 -- Less篇

了解Less 它是一门CSS预处理,扩充了CSS,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充,Less也可以运行在 Node 或浏览器端。 总结:让CSS更具维护性、主题性、扩展性! 一、变量 /* 语法:@变量名:值 */ @color: #00c; /* 蓝色 */ #header { border: 1px solid @color; /* 蓝色边框 */ } 生成css代码: #header { border: 1px solid #00

weixin_43878117的博客 178

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

10分钟学会CSS预处理语言Less

Less做为CSS的一种形式的扩展,它并没有阉割CSS的功能,而是在现有的CSS语法上,添加了很多额外的功能,将CSS赋予了动态语言的特性,如变量、继承、运算、函数等。 Less既可以在 客户端 上运行 (支持IE 6+, Webkit, Firefox),也可以借助Node.js在服务端运行。 所以学习Less是一件轻而易举的事情,下面我们就来看看具体语法。 ...

web前端基础入门教程 1960

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

使用node将less文件转化为css文件

Less及less函数 什么是Sass、Less Sass和Less都属于Css预处理器,Css预处理器定义了一种新的语言,其基本思想是用一种专门的编程语言,为Css增加一些编程的特性,将Css作为目标生成文件,然后开发者使用这种语言进行Css编码工作(用一种专门的编程语言,进行Web网页样式设计,再通过编译器转化为正常的CSs文件,以供项目使用) 为什么要使用Sass、Less css只是单纯的属性描述,它并不具有变量、条件语句等,css的特性导致了它难组织和维护 Sass、Less的共性 混

qq_45307387的博客 1017

01.less的简介.html

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> html{

weixin_47952737的博客 92

less基础知识

less基础知识 一、概览 二、变量 三、运算 四、混合 五、嵌套 @规则嵌套和冒泡 六、转义 七、函数 命名空间和访问符 八、映射 九、导入 一、概览 Less (Leaner Style Sheets 的缩写) 是一门向后兼容的 CSS 扩展语言。 因为 Less 和 CSS 非常像,因此很容易学习。而且 Less 仅对 CSS 语言增加了少许方便的扩展。 less在浏览器端使用的时候,借助less.js文件进行编译,编译之后其实就是css文件。 引入less文件 <l.

brhhh_sehe的博客 1229

saas(sccs)、less、stylus三者的区别

saas(sccs)、less、stylus三者的区别 在用css写样式的时候,我们可以发现css是存在着挺多的问题的,列举一二如下: 1、css语法不够强大,比如css的选择器无法进行嵌套,导致css中存在较多重复的选择器语句; 2、css无法定义变量以及没有合理的样式复用机制,导致整体css样式难以维护; 于是,css预处理器应运而生,目前较为常用的sass(scss)、stylus、less都是其中的佼佼者,我在项目中曾用过其中的scss和stylus,今天来总结一下它们的区别。 一、变量 Sass

weixin_38680881的博客 2110

VS 微信小程序开发插件Easy LESS下载和配置

下载 Easy LESS 配置 代码: "less.compile": { "outExt": ".wxss" }

ximexi的博客 777

【CSS预处理语言】less快速入门

前端css预处理语言,less,十分钟,一文快速入门。

BugMan的博客 2679

CSS 与其预处理语言 Sass、Less、Stylus 之间的转化

预处理语言的由来:CSS 是一门非程序式语言,没有变量、函数、SCOPE(作用域),需要书写大量看似没有逻辑的代码,不方便维护及扩 展,不利于复用,为了让 CSS 富有逻辑性,短板不那么严重,涌现出了 一些神奇的预处理语言。 它们让 CSS 彻底变成一门可以使用 变量 、循环 、继承 、自定义方法等多种特性的标记语言,逻辑性得以大大增强。 Sass 诞生于 2007 年,采用 Ruby 编写,它...

BOB'S BLOG 7640
上一篇: Git总结篇-基础概念了解
下一篇: React基础篇-初始
Yin.云端
博客等级 码龄10年 3粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值