less基础

1.1k 词
less基础

Less基础#

维护css的弊端#

CSS是一门非程序式语言,没有变量、函数、SCOPE(作用域)等概念。

  • CSS需要书写大量看似没有逻辑的代码,CSS冗余度是比较高的。
  • 不方便维护及扩展,不利于复用。
  • CSS没有很好的计算能力。
  • 非前端开发工程师来讲,往往会因为缺少CSS编写经验而很难写出组织良好且易于维护的CSS代码项目。

Less介绍#

Less(Leaner Style Sheets)
是一门CSS扩展语言,也称为CSS预处理器。

作为CSS的一种形式的扩展,它并没有减少CSS的功能,而是在现有的CSS语法上,为CSS加入程序式语言的特性。

它在CSS的语法基础上,引入了变量,Mixin(混入),运算以及函数等功能,大大简化了CSS的编写,并且降低了CSS的维护成本,正如其名,Less可以用更少的代码做更多的事情。

Less中文网址 http://lesscss.cn/

常见的CSS预处理器:Sass、Less、Stylus

Less使用#

首先创建一个后缀名为.less的文件,在这个less文件里面书写less语句

  • Less变量
  • Less编译
  • Less嵌套
  • Less运算

Less变量#

变量是指没有固定的值,可以改变的。因为CSS中一些颜色和数值等经常使用。

css
@变量名:值;

变量名命名规范#

  • 必须由@为前缀
  • 不能包含特殊字符 @less~&*#
  • 不能以数字开头 @123less
  • 大小写敏感
    @less/@Less

Less编译#

本质上,Less包含一套自定义的语法以及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的CSS文件。

所以,需要把less文件编译生成css文件,这样html页面才能使用。

vscode使用 Easy LESS插件

Easy LESS插件用来把less文件编译为css文件。

安装完毕插件需重启vscode。

只需要保存一下Less文件,会自动生成css文件

页面正常link引入该css文件即可

Less嵌套#

选择器的嵌套#

.header .logo{width:300px;}

Less嵌套写法

.header{.logo{width:300px;}}

若遇见(交集|伪类|伪元素选择器)#

  • 内层选择器的前面没有&符号,则它被解析为父选择器的后代;
  • 若有&符号,它被解析为父元素自身或父元素的伪类。
a:hover{color:red;}

Less嵌套写法

a{&:hover{color:red;}}

Less运算#

任何数字、颜色或者变量都可以参与运算,就是Less提供了加(+)、减(-)、乘(*)、除(/)算术运算。

/*Less*/@width:10px + 5;div{border:@width solid red;}
/*css*/div{border:15px solid red;}
/*less甚至可以这样*/width:(@width+5)*2;

注意:

  • 乘号(*)和除号(/)的写法
  • 运算符中间左右有空格隔开(1px + 5)
  • 对于两个不同的单位的值之间的运算,运算结果的值取第一个值的单位
  • 若两个值之间只有一个值有单位,则运算结果就取该单位