less样式


less基础

CSS的冗余度比较高,需要书写大量看似没有逻辑的代码,不方便维护,且无计算能力

而Less是CSS的拓展语言,也成为CSS预处理器(常见的CSS预处理器:Less、Sass、Stylus),可以计算(运算符的左右两侧必须加一个空格

两个数参与运算,如果只有一个数有单位,最后结果以这个单位为准

两个数参与运算,如果两个数都有单位,以前面那个数字单位为准)

Less的文件后缀名:.less

(1)less变量

@color: pink;  /*@变量名:值;*/  
@font: 14px;

使用: background-color: @color ;

(2)less的编译

需要把less编译成CSS才能放入H5使用

在VScode中安装easy-less插件,less文件保存后一键生成CSS文件

(3)less镶套

在less不需要再 .header a {} 去选择后代选择器(再见) 可以直接:

.header {
    width: 100px;
    a {
        color: red;
    }
}

伪类选择器:

.nav {
    &:hover {
        color: blue;
    }
    &::before {
        content: "";
    }
}

在一个less中可以引入另外一个less(套娃)

@import "common";  /*导入conmon.less*/

Less函数

each

类似于循环函数

先定义一个数组变量

@selectors: blue, green, red;

通过each(数组名, { .sel-@{value} {} });的方式获取数组中每一个值( @{value}

each(@selectors, {
  .sel-@{value} {
    a: b;
  }
});

Outputs:

.sel-blue {
  a: b;
}
.sel-green {
  a: b;
}
.sel-red {
  a: b;
}

当然也可以通过定义对象变量,通过each函数分别得到每个对象的key、index、value

@set: {
  one: blue;
  two: green;
  three: red;
}
.set {
  each(@set, {
    @{key}-@{index}: @value;
  });
}

This will output:

.set {
  one-1: blue;
  two-2: green;
  three-3: red;
}

range

传入一个数字,创建一个顺序数组列表

Examples:

value: range(4);

Outputs:

value: 1 2 3 4;

搭配each来使用:

each(range(4), {
  .col-@{value} {
    height: (@value * 50px);
  }
});

Outputs:

.col-1 {
  height: 50px;
}
.col-2 {
  height: 100px;
}
.col-3 {
  height: 150px;
}
.col-4 {
  height: 200px;
}

less和sass

Sass与Scss是什么关系?

Sass的缩排语法,对于写惯css前端的web开发者来说很不直观,也不能将css代码加入到Sass里面,因此sass语法进行了改良,Sass 3就变成了Scss(sassy css)。与原来的语法兼容,只是用{}取代了原来的s缩进。

(SASS版本3.0之前的后缀名为.sass,而版本3.0之后的后缀名.scss。)

less和sass的区别

Less和Sass的主要不同就是他们的实现方式。

Less是基于JavaScript,是在客户端处理的。

Sass是基于Ruby的,是在服务器端处理的。

关于变量在Less和Sass中的唯一区别就是Less用@,Sass用$。


文章作者: Hello
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Hello !
 上一篇
PC&移动端网页特效(JS) PC&移动端网页特效(JS)
PC端1.offset元素偏移量我们使用offset系列相关属性可以动态获取元素的位置(大小)(父亲要定位此功能才有用 element.offsetTop 返回元素相对带有定位父元素上方的偏移,不带单位,如果没有定位或者没有父元素则以bo
2020-11-18
下一篇 
移动&Web开发的常见布局(CSS) 移动&Web开发的常见布局(CSS)
1.视口视口分类视口可以分为布局视口,视觉视口和理想视口 布局视口:一般移动设备浏览器都默认设置一个布局视口(980px),用于早期PC端页面在手机上显示的问题 缺点:使得元素看上去很小,字体小 视觉视口:用户正在看的网站区域,我们可以通过
2020-10-02
  目录