less基础及其用法

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

使 CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。

less的中文官网:http://lesscss.cn/

我们可以通过修改style标签的type属性 将less的代码写到页面当中

但是浏览器是不认识less的,就算style标签当中写的是最基本的css代码,浏览器也依旧不认识无法渲染

less的代码 必须要通过编译 转换成css文件 才能生效 所以 我们是 写less【样式】 引css【文件】

less初次使用:

1.定义变量(@zero:0)并运用,凡是页面中使用0,都用@zero代替;

2.子元素需要放在父元素中,此时子元素可以放心使用class,因为他已经有前提条件是父元素不用再继续担心对同名class值样式的影响

3.<style type="text/less">style标签的类型需要改成less

4.根据官网我们需要一个less编译的less.js 文件,并在最下方引入,因为需要读取页面中所有less相关的文件,才可以进行编译

less --- 支持原生js,node

sass --- ruby环境

stylus --- node -- 开发项目中我们使用stylus

Less编译工具koala 官网:www.koala-app.com 或Vscode中插件Easy-less

less中的注释以//开头的注释,不会被编译到css文件中以/**/包裹的注释会被编译到css文件中

less中的变量使用@来申明一个变量:@box:pink;

1.作为普通属性值只来使用:直接使用@box

2.作为选择器和属性名:#@{selector的值}的选择器形式, @{selector的值}属性名

3.作为URL:@url

4. 变量的延迟加载


变量

在less当中是允许我们定义变量的 定义变量的语法 @变量名称:变量的值

将变量作为属性值使用时 在使用变量的时候 直接@变量名称即可

@bg1:#ccc;

将变量作为属性名使用的时候 @{变量名称}

@beijing:background;
使用:@{beijing}:@bg1;

将变量作为选择器使用的时候

1.变量自身带选择器符号 @{变量名称}

@b:.box1;
@{b}{
 width: ~'@{num}px';
 height:400px;}

2.变量自身不带选择器符号 选择器符号@{变量名称}

@num:400;
@b2:box1;
.@{b}{
 width: ~'@{num}px';
 height:400px;}

延迟加载

less也是存在类似于js的作用域的概念的,当前大括号内如果没有要使用的变量 就向上一级的大括号查找

如果当前大括号内 有多个同名变量 不论远近先后 只看最后一个

如果当前大括号内没有 会向上一级的大括号 进行寻找 然后依旧还是不论远近先后 只看最后一个


less中的嵌套规则

  1. 基本嵌套规则

2. &的使用

直接嵌套的话,默认为选择器与选择器之间使用后代选择器(空格)进行连接

如果想要给子元素设置样式的时候,只需要在选择器的前边,直接加 > 即可

当我们使用&的时候,它就代表当前其所在的大括号对应的元素本身,只要是我们需要使用,带冒号的选择器 都需要使用&


less加减乘除运算

less中的混合 Mixin混合就是将一系列属性从一个规则集引入到另一个规则集的方式

本质:在调用的位置,将混合内部的样式代码再写一遍

1.普通混合

语法:.混合名(){ }

调用混合方法:.混合名();【分号必须写,只有最后一个引用可省略,为了方便不出错最好都写】

2.带参数的混合

混合是允许设置参数的,设置参数的语法是在定义混合的小括号内定义变量 多个参数

在调用混合传递参数时,是通过参数名称确定对应关系的所以传参语句 @变量名:变量值其实和变量赋值语句是一样

3.带参数并且有默认值的混合

在形参没有默认值的情况下 定义的形参个数 必须与传递的实参个数一致 不然报错

如果想要给形参 设置默认值 其实就是在定义形参的时候 直接赋值

4.带多个参数的混合

引入外部混合

引入外部混合 通常情况下 我们用于编写布局样式的less文件 都需要依赖一些 提前定义好的混合,

所以我们 需要引用其他的混合文件 用于编译


例如:封装一个清除浮动的less样式【最后为css样式的对比】

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值