美文网首页
CSS预处理器 LESS

CSS预处理器 LESS

作者: 李霖弢 | 来源:发表于2020-01-02 15:55 被阅读0次

使用

less代码可以在js中直接被编译,常见的使用less方法包括以下四种

  1. 命令行编译
npm install -g less
lessc <less文件名> [<输出css文件名>]
  1. IDE插件
    VSCode中安装Easy LESS插件,每当保存.less文件时自动生成同名css
  2. 在node中引入less模块并编译,或其他第三方编译方式
  3. 在浏览器中直接引用
  • 在生产环境下应直接使用其他方式编译后生成的CSS,防止影响用户体验
<link rel="stylesheet/less" type="text/css" href="styles.less" />
<script src="less.js" type="text/javascript"></script>

注释

支持行注释和块注释

  • 块注释 /* hello */ 会生成在CSS中的相应位置
  • 行注释 //hello 总会被舍弃

导入(Importing)

多个less文件单独编译,因此variables/mixins/namespaces不能互相调用
通过@import可以在一个less中导入外部less(可省略后缀)或css,以使用其各种内容

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

功能

变量

通过@声明或使用变量

@width: 10px;
@height: @width + 10px;
.header {
  width: @width;
  height: @height;
}
混合(Mixins)

混合器(Mixin)是一种将一组属性从一个规则集包含(或混入)到另一个规则集的方法。
混合器可以具有参数,也可以用:为参数指定默认值
调用混合时如果有多个混合器,则自动编译参数符合数量的混合器(多个符合则均编译)

.red(@color,@font:50px) {
  color:@color;
  li {
    font-size:@font;
  }
}
#big {
  font-size:100px;
}
body {
  opacity: 0.5;
  .red(red);
  #big();
}
嵌套(Nesting)和命名空间 (Namespaces)
  • 嵌套被展开时顺序不变
  • &指向其自身
  • @ 规则也可以嵌套在选择器内部或相互嵌套
  • 嵌套也可以视为一个命名空间,用于对mixins和变量进行分组,命名空间内的mixins和变量如需被外部调用,必须通过通过.>.
    .bundle(){}时,.bundle .grey不会被输出,.bundle仅作为命名空间存在
    .bundle{}时,.bundle .grey也会被输出
    • 变量会优先从当前命名空间(作用域)中查找,如果不存在则从“父”级作用域继承。
.bundle() {
  .grey{
    background-color: grey;
  }
}
.demo a {
  .bundle.grey();
}
.demo b {
 .bundle > .grey();
}
映射(Maps)

与命名空间不同,映射用于处理单个值,通过[]调用

#color(){
  b:blue;
}
body{
  background-color: #color[b];
}
四则运算

计算时如果单位换算无效或失去意义,则以左侧单位为准。
通常仅对LESS变量做运算并配合calc使用。

转义(Escaping)

带有~" "的内容被引用时会把" "去掉
配合@{ }可以引用选择器字符串

@min768: ~"(min-width: 768px)";
@header: ~"&:header";
.element {
  @media @min768 {
    font-size: 1.2rem;
  }
  @{header}{
    content:"hello world"
  }
}
函数(Functions)

主要用于判断、数组、字符串、运算、颜色处理

相关文章

  • 初识css预编译之Less

    什么是less less是CSS的预处理器,学过C语言的同学应该对预处理器挺熟悉的把,C语言的编译过程就分为:预处...

  • Sass和Less

    什么是Sass和Less? Sass和Less都属于CSS预处理器。 什么是 CSS 预处理器呢? CSS 预处理...

  • Sass和Less

    saas和less sass和less是什么? Saas和Less都属于css预处理器,css预处理器定义了一种新...

  • less的介绍

    less是什么? less是css云处理器 全局安装less包 查看less是否安装成功 less完全兼容css ...

  • less语法和rem媒体查询的使用

    常见CSS预处理器:Less / SASS / Stylus等。 Less预处理器:使用CSS语法,可以做一些逻辑...

  • 为什么选择Sass而不是Less?

    什么是Sass和Less? Sass和Less都是属于CSS的预处理器,那什么是预处理器呢? CSS预处理器定义了...

  • Less学习笔记

    什么是less less就是一门css预处理器,使我们可以以一种更高效的方式编写css 怎么使用less 在vs ...

  • CSS预处理器之less0731

    CSS预处理器之less 1.基础内容 1.1什么是CSS预处理器? CSS 预处理器就是用某一种语言用来为 CS...

  • Sass使用总结

    一种css预处理器,将css由描述语言转为编程语言,然后再编译成css。类似的还有less、stylus,less...

  • Less极简教程

    Less Less是一种动态样式语言,属于css预处理器的范畴,它扩展了 CSS 语言,增加了变量、Mixin、函...

网友评论

      本文标题:CSS预处理器 LESS

      本文链接:https://www.haomeiwen.com/subject/srbnoctx.html