Less的入门及使用—变量、嵌套规则、混合、运算、避免编译、继承(附代码演示)

1 篇文章 0 订阅
订阅专栏

Css短板

css作为一门标记性语言,给初学者的第一印象是简单易懂,毫无逻辑,不像编程该有的样子。

语法更新时,浏览器的兼容问题比较麻烦,问题的诞生伴随着技术的兴起,在web发展的这几年,出现了预处理语言,让css彻底变成了一门可以使用变量、循环、继承、自定义方法等多种特性的标记语言

预处理语言的诞生

其中常用的三门语言:Less、Sass、Stylus

1:sass诞生于2007年,Ruby编写,语言功能十分全面,国内外都很受欢迎,它的项目团队也很强大,是一款十分优秀的预处理语言

2 stylus诞生于2010年,来自Node.js社区,语法功能和sass不相伯仲

3:Less诞生于2009年,受Sass影响的一个开源项目,增加了变量,混合,函数等功能,让css更易维护,方便制作主体,扩充

逻辑性得以大大增强

一、less简介

less是一种动态样式语言,属于css预处理器的范畴,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展
less的中文官网http://lesscss.cn/

二、Less安装

安装

1:在 Node.js 环境中使用 Less :

        npm install -g less

2:在浏览器环境中使用 Less :

        <link rel="stylesheet/less" type="text/css" href="styles.less" />

        <script src="//cdnjs.cloudflare.com/ajax/libs/less.js/3.11.1/less.min.js" ></script>

3:在VSCode中使用Less

        安装Easy LESS 插件

4:在HbuilderX中使用

        搜安装插件

 三、Less语法

1、less中的注释

        以//开头的注释,不会被编译到css文件中

        以/**/包裹的注释会被编译到css文件中

2、less中的变量

css中看到同一个值重复多次,这样代码难维护,使用@来申明一个变量:@pink:pink;

2.1普通变量

// 定义变量1
@color:yellow;
@width:300px;
@height:300px;

#wrap{
    width:@width;
    height: @height;
    border: 1px solid;
    background-color: @color;
    margin: 0 auto;
}

2.2变量作为选择器

@color:red;
@width:300px;
@height:300px;
// 声明selector对应#wrap
@selector:#wrap;
@w:width;
@h:height;
@{selector}{//变量名必须使用大括号包裹
    @{w}:@width;
    @{h}: @height;
    border: 10px double black;
    background-color:@color ;
    margin: 0 auto;
}

2.3变量作为url

@url:"../img/img1.png";
@selector:wrap;
@color:red;
.@{selector}{
    width: 200px;
    height: 200px;
    background-color:@color;
    background: url(@url) no-repeat;
    background-size: cover;
}

2.4变量延迟加载

@var: 0px;
// 变量是块级作用域
.class {
  @var: 10px;
    .brass {
      @var: 20px;
      width: @var;  //30px  读完块级作用域后,再去确定变量值
      @var: 30px;
    }
  width: @var;  //10px
}

3、less中的嵌套规则

1.基本嵌套规则

2.&的使用

*{
    margin: 0;
    padding: 0;
}
ul{
    background-color: #333;
    overflow: hidden;
    height: 50px;
    line-height: 50px;
    width: 400px;
    margin: 50px auto;
    li{
        list-style: none;
        float: left;
        width: 25%;
        text-align: center;
        a{
            text-decoration: none;
			color: white;
        }
        // &表示上一级选择器
        &:hover{
            background-color:tomato;
        }
    }
}


4、less中的混合

混合就是将一系列属性从一个规则集引入到另一个规则集的方式(ctrl c +ctrl v),

混合的定义,在less规则,明确指定'.'的形式来定义

4.1、普通混合 (会编译到原生css中)

// 普通混合,会在css中输出
.base{
    width: 100px;
    height: 100px;
    margin-bottom: 10px
}
#box1{
    .base;
    background: pink;
}
#box2{
    .base;
    background: deeppink;
}

4.2、不带输出的混合

// 不会在css中输出输出混合
.base(){
    width: 100px;
    height: 100px;
    margin-bottom: 10px
}
#box1{
    .base;
    background: pink;
}
#box2{
    .base;
    background: deeppink;
}

4.3、带参数的混合

//带参数的混合 
// 行参
.base(@w,@h,@color){
    width: @w;
    height: @h;
    background-color: @color;
    margin-bottom: 10px
}
// 以下传入实参
#box1{
    .base(100px,100px,red);
}
#box2{
    .base(200px,200px,pink);
}

4.4、带参数并且有默认值的混合

4.5、带多个参数的混合

//带参数的混合 
// 行参
.base(@w:100px,@h:100px,@color:yellow){
    width: @w;
    height: @h;
    background-color: @color;
    margin-bottom: 10px
}
// 以下传入实参
#box1{
    .base(100px,100px,red);
}
#box2{
    .base(200px,200px,pink);
}
#box3{
    .base;
}

4.6、命名参数

.base(@w:100px,@h:100px,@color:yellow){
    width: @w;
    height: @h;
    background-color: @color;
    margin-bottom: 10px
}
#box1{
    .base(@color:red);
}
#box2{
    .base(@w:200px);
}
#box3{
    .base;
}

4.7、匹配模式

// 引入minx库,两种方式都可以
// @import url(./minx.less);
@import './minx.less';
#arrows{
    .arrows(R,@w:40px,@C:red)
}

4.8、arguments变量

*{
    margin: 0;
    padding: 0;
}
.border(@w,@style,@c){
    border: @arguments;// 等价于  border: @w @style @c;
  
}
#wrap{
    width: 200px;
    height: 200px;
    background: pink;
    .border(10px,solid,red);
}


5、less运算

在less中可以进行加减乘除的运算,计算的一方的带单位就可以了

@w:100px;
*{
    margin: 0;
    padding: 0;
}
#wrap{
    // 计算的双方,只要一方有单位就可以了
    // +  -  *  /
    width:@w+200;
    height: 200px;
    background: pink;
}

6、less避免编译

~'' less不编译,原封不动,交给css编译

*{
    margin: 0;
    padding: 0;
}
#wrap{
    // ~''  less不编译,原封不动,交给css编译
    width:~"calc(200px + 700px)";
}

7、less继承

性能比混合高

灵活度比混合低

mixin.less

.juzhongMix{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
.juzhongMix:hover{
    background-color: red;
}

index.less

*{
    margin: 0;
    padding: 0;
}

@import url(./mixin.less);
#wrap{
    position: relative;
    width: 300px;
    height: 300px;
    border: 1px solid red;
    #box1{
        // 继承.juzhongMix样式,
        &:extend(.juzhongMix);
        width: 100px;
        height: 100px;
        background-color: pink;     
    }
    #box2{
        // 继承.juzhongMix所有相关的样式
        &:extend(.juzhongMix all);
        width: 50px;
        height: 50px;
        background-color: yellow;
        
    }
}

Less 嵌套
ivenqin的博客
07-15 682
本节我们学习 Less 中的嵌套嵌套应该很容易理解,HTML 语言中就支持标签的嵌套。我们在使用 CSS 时,如果想要为多层嵌套的元素设置样式,要么给元素加上一个类选择器或ID选择器,要么使用后代选择器。例如: .xkd{ font-size: 14px; } .xkd p{ line-height: 25px; } .xkd p span{ color: #ccc; } 这样写虽然也好理解,但是没有那么直观,维护起来也不方便。 而 Less 中的嵌套规则正好可以解决这样问题,嵌套规则允许在
【CSS】css的预编译语言less的基本使用指南-esay less插件使用-浏览器调试less-mixins混合函数
YK菌的博客
01-23 594
less的基本使用1. less是什么?1.1 CSS的一些问题1.2 less的作用1.3 vscode好用的less插件2. less 的(最)基本使用2.1 注释2.2 变量2.2.1 变量的语法2.2.2 几个注意点2.2.3 引用其他属性的值2.3 & 表示外层父元素2.4 extend 扩展2.5 mixin混合复制样式作为函数可以传参数内置的mixins函数2.6 可计算2.7 import2.8 调试 1. less是什么? 官方中文网址 https://less.bootc
less-用法:简介、变量混合嵌套运算、转义、函数、映射、作用域、注释、导入、继承、条件判断
小白小白从不日别的博客
07-18 4016
变量(Variables) 基本使用方式: @width: 10px; @height: @width + 10px; #header { width: @width; height: @height; } 编译为: #header { width: 10px; height: 20px; } 混合(Mixins) 混合(Mixin)是一种将一组属性从一个规则集包含(或混入)到另一个规则集的方法。假设我们定义了一个类(class)如下: .bordered.
less用法与运算规则
最新发布
weixin_68729791的博客
07-17 307
less是一种动态样式语言,是css的预处理器。(扩展了css语言让css语言有了逻辑,使得css方便扩展,维护复用)可向下兼容,在less中可以写css。
Less
zxiang248的专栏
09-27 487
LessSass styuls 一款比较流行的预处理CSS,支持变量混合、函数、嵌套、循环等特点 官网 中文网 http://www.w3cplus.com/css/less 概要为什么要有预处理CSSCSS基本上是设计师的工具,不是程序员的工具。在程序员的眼里,CSS是很头痛的事情,它并不像其它程序语言,比如说PHP、Javascript等等,有自己的变量、常量、条件语句以
less基础详解
热门推荐
h907310116的博客
11-25 2万+
1.初识less less作为一门CSS扩展语言,也就是说CSS预处理器。(Leaner Style Sheets)简称less,它只不过是为css新增这些的功能,比如说:变量、函数、作用域等等。它的优点是:更具有维护性、扩展性等,可以降低了维护的成本,根据按这样的话,那么less可以让我们写更少的代码做更多的事情。 和css相比下,css的语法非常简单,而且对开发者来说要求比较低,比较合适小白者,但是遇到有些问题,比如没有这种变量、函数等等,的确还不如less的扩展性,需要写大量的代...
Less系列之嵌套(Nesting)
老__L的博客
04-17 2848
嵌套(Nesting)
Less的Mixin嵌套规则
歪脖先生的博客
11-20 1229
Less的嵌套规则
LESS 让css也支持变量运算符,include,嵌套规则.zip
11-19
LESS引入了变量嵌套规则运算符和混合(mixin,类似include)等概念,极大地提高了开发效率。下面将详细阐述LESS的这些核心特性。 1. 变量(Variables) 在CSS中,我们经常需要反复地使用相同的颜色值、字体大小...
less变量混合嵌套用法解析
在本章节中,我们将介绍Less的基础概念和用法,包括Less的简介、变量的定义和使用混合的概念和语法,以及利用Less嵌套来提高代码的可读性。 ## 1.1 Less简介 Less是由Alexis Sellier创建的开源项目,旨在使CSS更...
Less --- 简介
__静禅__
12-12 892
一、Less简介 Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。Less 可以运行在 Node 或浏览器端。   概要: (1)为什么要有预处理CSS CSS基本上是设计师的工具,不是程序员的工具。在程序员的眼里,CSS是很头痛的事情,它并不像其它程序 语言,比如Javascrip...
less介绍
eunice_sytin的博客
10-25 574
less介绍 作为一种 CSS 扩展, Less 不仅向后兼容 CSS, 它还使用现有的 CSS 语法新增了额外的特性. 这使得学习 Less 更轻松, 一旦有任何问题,可以随时退回使用标准的 CSS. less使用 1.变量 @color:red; body{ background:@color } 由于变量只能定义一次,实际上他们就是“常量”. 2.混合 .common{ col...
LESS
qq_25072517的博客
11-08 208
Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展。
Less简介
k010107的博客
10-13 238
less 是一门 css 的预处理语言:1. less 是一个 css 的增强版,通过 less可以编写更少的代码实现更强大的样式。2. less 中添加了许多的新特性:像对变量的支持、对 mixin 的支持等...。3. less 语法上和 css 语法一致,但 less 中增添了许多对 css 的扩展,所以浏览器无法直接执行 less 代码,要执行必须将 less 转换为 css,然后再由浏览器去执行
5.Less嵌套规则
kkm486622296的博客
11-08 373
5.嵌套规则 1.什么是嵌套规则:          嵌套规则他模仿了HTML结构,让我们的css代码更加简洁明了。 2.实例          ①传统css写法:          #header{           color:black; } #header.navigation{          font-size:20px; } #header .lo
less嵌套规则
6块腹肌的博客
07-16 2272
目录 嵌套语法 优先级: 伪类 指令嵌套 嵌套语法 html <div id="container"> <section class="left"></section> <section class="center"></section> <section class="right">&...
LESS 使用方法
Helloweb前端网
12-24 3748
第一章 LESS简介 第一节 变量 第二节 混合 第三节 嵌套规则 第四节 函数 运算 第二章 使用 第一节 客户端使用 第二节 服务端使用 第三章 语法 第一节 变量 第二节 混合用法 第三节 带参数混合 第四节 嵌套规则 第五节 运算 第六节 作用域 第七节 注释 第八节 避免编译 第一章 LESS简介 less是一种动态样式语言;为提高css应用的灵活性和效率; LESS 将 CS
less详解
qq_34861758的博客
12-10 372
less是一门CSS预处理语言,本身不是一门直接使用语言,而是一门生成CSS的语言。 总结: 1 less中只有/*注释*/ 这种注释方法才会被编译到CSS文件中。 //注释 这种注释方法是无法被编译到CSS文件中的。 2 变量 less文件中使用@来声明一个变量 例如 @color:pink ...
写文章

热门文章

  • 5个炫酷登录页面,拿去就能用(附源码) 95122
  • 10个炫酷特效的网页写法(附源码),拿去就能用,nice 74464
  • js中时间和时间戳的相互转换 58338
  • vue是什么?vue的优点有哪些? 50802
  • js中对象合并的4种方式,数组合并的4种方法 50158

分类专栏

  • IT面试 96篇
  • JavaScript 68篇
  • HTML 22篇
  • Vue 33篇
  • 其他 3篇
  • js小案例 2篇
  • TS 1篇
  • 编辑器 3篇
  • CSS 49篇
  • ES6-11 5篇
  • 大数据可视化 2篇
  • Less 1篇

最新评论

  • JS中文档的加载顺序

    sleep_i_like: 如果只是修改dom。为了效率不必要写onload事件,可以监听DOMContentLoaded 在 HTML 文档解析过程中,当浏览器完成构建 DOM 树,所有的初始 HTML 已经完全加载和解析,但外部资源(如图片、样式表和嵌入的框架)可能还没有完全下载时触发。也就是说,DOMContentLoaded 事件标志着页面的基本结构已经准备就绪,可以进行操作和修改 DOM 元素。 .load事件 load 事件是在整个 HTML 文档以及所有的外部资源(如图片、样式表、嵌入的框架等)都已经完全加载和解析完成后触发的事件。 使用 load 事件可以确保页面的所有资源都已经被下载并解析完成,可以进行一些比较耗时或需要等待资源加载的操作。不过需要注意的是,load事件的触发时间比 DOMContentLoaded 事件要晚,所以在处理一些与页面元素相关的操作时,需要选择合适的事件来监听

  • 5个炫酷登录页面,拿去就能用(附源码)

    qq_31886615: 已关注,求源码496563314@qq.com

  • 5个炫酷登录页面,拿去就能用(附源码)

    学点智能呀: 已关注,求星空源码2606033521@qq.com

  • 5个炫酷登录页面,拿去就能用(附源码)

    维诺728: 求星空代码

  • 20个大数据可视化大屏模板(评论区附源码)

    刘加桃: 博主已关注求源码2823177571@qq.com

最新文章

  • 10个常用的JS工具库,80%的项目都在用!
  • js检测数据类型总结
  • URL介绍
2023年4篇
2022年206篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燕穗子博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家正阳玻璃钢雕塑厂家商场美陈门头材料湖滨玻璃钢雕塑设计宁夏玻璃钢商场美陈雕塑黄山玻璃钢动物雕塑武威抽象人物玻璃钢雕塑多少钱时尚的玻璃钢雕塑造型金华欧式玻璃钢雕塑设计广东园林玻璃钢雕塑玻璃钢孔子雕塑厂家报价四川玻璃钢雕塑定做广州玻璃钢雕塑造型三门峡玻璃钢仿铜雕塑价格北京商场主题创意商业美陈公司上饶佛像玻璃钢雕塑常熟元旦商场美陈枣庄市玻璃钢人物雕塑嵌入式玻璃钢花盆型号路边玻璃钢花盆图片价格河南周年庆典商场美陈有哪些广东玻璃钢海豚雕塑浙江省玻璃钢雕塑报价玻璃钢瓜果雕塑价格海门玻璃钢雕塑厂绍兴小型玻璃钢花盆黄岛玻璃钢卡通雕塑揭阳小区玻璃钢雕塑厂家株洲玻璃钢果蔬雕塑长春恒玻璃钢雕塑厂家玻璃钢雕塑造型设计香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化