2021-03-12 LESS的基本使用:

一、LESS的基本使用

经过上述介绍,我们知道Less属于预处理器 可以简单理解Less其实就是CSS的扩展语言,它增加了一些CSS原本没有的东西,如变量、混合(mixin)、函数等功能,让CSS`变得更容易书写和维护

1.变量

Less可以使用一个变量,需要配合@,并且支持表达式

@width:10px;@height:@width+10px;#header{width:@width;height:@height;}

编译成:

#header{width:10px;height:20px;}

2.混入Mixins

Mixins常常用于将一组通用的属性混合到另一个需要的地方,混入时需要配合()使用

.bordered{border-top:dotted 1px black;border-bottom:solid 2px black;}#menu a{color:#111;.bordered();}.post a{color:red;.bordered();}

编译成

.bordered{border-top:dotted 1px black;border-bottom:solid 2px black;}#menu a{color:#111;border-top:dotted 1px black;border-bottom:solid 2px black;}.post a{color:red;border-top:dotted 1px black;border-bottom:solid 2px black;}

3.嵌套Nesting

Less书写的代码更加简洁,模仿了HTML的组织结构,例如以前

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

使用Less

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

另外,在Less内,&可以表示当前选择器的父级

4.运算符

Less支持+、-、*、/算术运算符,可以对任何数字、颜色或变量进行运算

需要注意:算术运算符在加、减或比较之前会进行单位换算。计算的结果以最左侧操作数的单位类型为准。如果单位换算无效或失去意义,则忽略单位。无效的单位换算例如:px到cm或rad到%的转换

// 所有操作数被转换成相同的单位@conversion-1:5cm+10mm;// 结果是 6cm@conversion-2:2-3cm-5mm;// 结果是 -1.5cm// conversion is impossible@incompatible-units:2+5px-3cm;// 结果是 4px// example with variables@base:5%;@filler:@base*2;// 结果是 10%@other:@base+@filler;// 结果是 15%//对颜色的计算@color:#224488/2;//结果是 #112244background-color:#112244+#111;// 结果是 #223355

另外,乘法和除法不作转换

@base:2cm*3mm;// 结果是 6cm

5.转义Escaping

Less可以使用使用任意字符串作为属性或变量值,前提是格式:~"anything"或~'anything'

@min768:~"(min-width: 768px)";.element{@media @min768{font-size:1.2rem;}}

编译为

@media(min-width:768px){.element{font-size:1.2rem;}}

6.函数Functions

Less内置了非常多的函数,用于转换颜色、处理字符串、算术运算等

@base:#f04615;@width:0.5;.class{width:percentage(@width);// returns `50%`color:saturate(@base,5%);background-color:spin(lighten(@base,25%),8);}

这个例子利用percentage函数将 0.5 转换为 50%,利用saturate将颜色饱和度增加 5%,以及利用lighten将颜色亮度降低 25% 并且利用spin将色相值增加 8

7.命名空间和访问符

有时,出于组织结构或仅仅是为了提供一些封装的目的,你希望对混合(mixins)进行分组。你可以用Less更直观地实现这一需求。

#bundle(){.button{display:block;border:1px solid black;background-color:grey;&:hover{background-color:white;}}}

现在,如果我们希望把.button类混合到#header a中,我们可以这样做:

#header a{color:orange;#bundle.button();// 还可以书写为 #bundle > .button 形式}

编译成

#header a{color:orange;display:block;border:1px solid black;background-color:grey;}#header a:hover{background-color:white;}

8.映射Maps

从Less 3.5版本开始,可以将混合(mixins)和规则集(rulesets)作为一组值的映射(map)使用。简单来说就是想js中的对象.属性来读取值,但是是用[]的形式

#colors(){primary:blue;secondary:green;}.button{color:#colors[primary];border:1px solid #colors[secondary];}

编译成

.button{color:blue;border:1px solid green;}

9.作用域Scope

Less中的作用域的概念与JavaScript类似,首先在本地查找变量和混合(mixins),如果找不到,则从“父”级作用域继承

@var:red;#page{@var:white;#header{color:@var;// white}}

并且变量类似js有提升效果,例如

@var:red;#page{#header{color:@var;// white}@var:white;}

10.注释

less的注释跟js一致,分单行注释和多行注释

/* 一个块注释

* style comment! */@var:red;// 这一行被注释掉了!@var:white;

11.导入Importing

Less也支持导入语法,如果导入的文件是.less扩展名,则可以将扩展名省略掉

@import"library";// library.less@import"typo.css";

作者:深度剖析JavaScript

链接:https://www.jianshu.com/p/6d5f8ec6e2f4

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容