less的基础学习

321 阅读3分钟

💕less的基础学习

Less 是一门 CSS 预处理语言,它扩充了 CSS语言,增加了诸如变量、混合(mixin)、函数等的功能。让css更以维护。 但他不能直接的渲染,要转换为css进行渲染。


sass的环境配置

node.js和less环境的配置

  • 1:先下载node.js安装包进行安装
  • 2:安装完成后,打开cmd命令窗口,输入node -v,或者 npm -v来检查是否安装成功
  • 3:然后输入npm install less -g安装sass环境(有的输入后安装不成功,那么需要先输入(npm config set registry registry.npm.taobao.org)命令
  • 4:环境安装好以后输入less -v(或者less --version)检查一下版本
  • 5:然后便可以使用了

如何将less中的.less文件渲染成.css文件

//例如:建立了一个文件名.less,想将此文件转化为css文件进行渲染,
//首先打开cmd命令窗口,在窗口输入以下代码即可转换
lessc 文件名.less 文件名.css

less 变量

//💖用一个@加上变量名即可定义,然后进行引用,具体用法如下:
@color:red;//定义变量
#header{
  color: @color;//使用变量
}
div{
  color: @color;//使用变量
}

less 混入

//�可先定义一个类名,将公共的样式,或者想要定义的样式放入其中
//然后在下面的类中可直接引入,使用方法如下:
//less文件中💖
.temp{
  border-top: 1px solid green;
  border-bottom: 1px solid green;
}
#header{
  .temp;
  color: palevioletred;
}
div{
  background: peru;
  .temp;
}

//💖渲染后,css文件中,将会实现以下代码
.temp {
  border-top: 1px solid green;
  border-bottom: 1px solid green;
}
#header {
  border-top: 1px solid green;
  border-bottom: 1px solid green;
  color: palevioletred;
}
div {
  background: peru;
  border-top: 1px solid green;
  border-bottom: 1px solid green;
}

less 带参数的混入

//💖给与类名定义一个参数,在下面使用的时候,定义参数的值即可,具体使用方法如下
.border-radius(@radius){
  border-radius: @radius;
  -moz-border-radius:@radius;
  -webkit-border-radius:@radius;
  -o-border-radius:@radius;
}
div{
  .border-radius(4px);
  background: goldenrod;
}
div.home{
  .border-radius(7px)
}


//💖渲然后
div {
  border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  -o-border-radius: 4px;
  background: goldenrod;
}
div.home {
  border-radius: 7px;
  -moz-border-radius: 7px;
  -webkit-border-radius: 7px;
  -o-border-radius: 7px;
}

less 嵌套

//💖 后代选择器
#footer{
  color: gray;
  ul{
    font-size: 20px;
    li{
      //&符号代表着父类本身
      &:hover{
        color: lavender;
        a{
          color:rgb(0, 255, 13);
        }
      }
      a{
        color:yellow;
        &:hover{
          color: rgb(20, 20, 34);
        }
      }
    }
  }
}


//💖子代选择器
#footer{
  color: gray;
  ul{
    font-size: 20px;
    li{
      //&符号代表着父类本身
      &:hover{
        color: lavender;
        a{
          color:rgb(0, 255, 13);
        }
      }
      a{
        color:yellow;
        &:hover{
          color: rgb(20, 20, 34);
        }
      }
    }
  }
}


//💖渲染后结果为
#footer {
  color: gray;
}
#footer ul {
  font-size: 20px;
}
#footer ul li:hover {
  color: lavender;
}
#footer ul li:hover a {
  color: #00ff0d;
}
#footer ul li a {
  color: yellow;
}
#footer ul li a:hover {
  color: #141422;
}


less 运算

@width:300px;
div{
  width: @width;
  height: @width / 2;
}

//渲染后页面为
div {
  width: 300px;
  height: 150px;
}

less 内置函数

**
lighten(@color, 10%);     // 返回一个比@color低10%更轻的颜色
darken(@color, 10%);      // 返回一个比@color高10%较暗的颜色
saturate(@color, 10%);    // 返回比@color多饱和度10%的颜色
desaturate(@color, 10%);  // 返回一个比@color少饱和度10%的颜色
fadein(@color, 10%);      // 返回一个比@color少10%透明度的颜色
fadeout(@color, 10%);     // 返回一个比@color多10%透明度的颜色
fade(@color, 50%);        // 返回一个颜色透明度为50%的颜色
spin(@color, 10);         // 返回色调比@color大10度的颜色
spin(@color, -10);        // 返回一个比@color小10度色调的颜色
mix(@color1, @color2);    // 返回一个混合@ color1和@ color2的颜色
**
@color:#e9232c;
div{
  color: lighten(@color,10%);
}

less 导入文件

@import "./import.less";
.home{
  color: @color;
  background: greenyellow;
}

//import.less的代码
@color:red;
@width:200px;
div{
  color: @color;
}


//渲染后的结果为
div {
  color: red;
}
.home {
  color: red;
  background: greenyellow;
}