less 基础教学

less 是一门css扩展语言,里面提供的功能更方便我们开发。 less是利用javascript将less文件转换为css文件。

①变量

在javascript中变量与less中的变量及其类似,不同点在于javascript中使用var 等关系词来声明,

less中使用@符来作为声明符

例子

@n:15px; // 声明一个n变量,属性值15px

基本使用:

div { width:@n }

变量可以是 属性值 、属性名(background等)、路径。

当变量是属性名或则路径时 , 需要将变量名用花括号包含在里面

例如

@a:background;

div {

@{a}:blue

}

 常用的技巧

在我们的开发过程中,会经常使用路径来获取图片 我们可以定义一个路径的变量

例如

@picture:'../src/images'; // 直接定义在当前图片文件夹

div { background:'@{picture}/图片名.png'} // 使用起来就会相当简洁。

变量不需要提前声明也可以使用, 但 我们在开发过程中,建议将变量放在文件开头,这样方便观看。

②混合mixin

   作定义一个类名或则id名。作用:可以重复使用里面的属性值。

 定义混合

.bor {border:1px solid red;}

body {

   .border(); // 使用混合

}

结果

 body {border:1px solid red};

注意点:使用混合时加上括号;

在这里会不会有小伙伴会发现,如果我们在元素上面直接加上类名不是一样可以使用.bor里面的属性吗?

从结果上面来看最大的区别 属性值在放在body里面的,这样我们只需要在less文件中操作样式属性了

③嵌套

  less从的嵌套比较类似与html中的嵌套

  例如:div { button { color:blue} }  翻译成css就是 div button {color:blue} 

  结构会更加清晰

  如果在嵌套中想要使用伪元素选择器等等。 less提供了一个特殊符 & 代表父元素 , 注意只代表父元素

  div { &::before{....}}  翻译成css就是 div::before {}

 在嵌套这一节中只记住注意 &是代表父元素。使用起来就没有太大的问题了。

④运算

  1.  算数运算符+、-、*、/ 可以对任何数字、颜色或变量进行运算

  2. 算数运算符 在加减或比较之前会进行单位换算,计算结果以最左侧操作数的单位为准。

 3.calc() 特例 不运算最终结果,只计算嵌套函数中的变量和数学公式值

 例如

  @var:50px / 2;

div {width:calc(100px - @var)}

 结果就是

div {width:calc(100px - 25px);// 在css执行时会自动计算的}

⑤函数

   

1.percentage()将一个小数,转换为 百分比。

2.saturate(颜色值,需要提高的百分比) 

3.命名空间  将混合只作为变量使用,

  

.bor() {border:1px solid red;}   //  将类名后面加上括号,就不会翻译在css中了,只会在使用的地方进行翻译

body {

   .border(); // 使用混合

}

4. 映射

    映射与命名空间比较类似,也可以说与混合比较类似

    

#bor(){

  pr:'bule';  // 使用自定义的名字 pr  

}

使用

 div {color:#bor[pr]}   // 使用时使用方括号

5. 作用域

   less中的作用域与css作用域类似

  首先从自己的作用域查找,如果没有则会向上一层查找。

 

⑥导入  

   导入的工作方式和你预期的一样,可以导入.less文件,此文件中的所有变量就可以全部使用了。

     如果导入的文件是 .less 扩展名,则可以将扩展名省略掉;

    

@import "library"; // library.less

@import "typo.css";

  

  

  

上一篇:C1能力认证训练题解析 _ 第二部分 _ Web基础


下一篇:JS - 点名/抽奖