写点什么

less 的基本语法

作者:Java学术趴
  • 2022 年 8 月 15 日
    北京
  • 本文字数:1778 字

    阅读完需:约 6 分钟

👨‍🎓作者:Java 学术趴

🏦仓库:GithubGitee

✏️博客:CSDN掘金InfoQ云+社区

💌公众号:Java 学术趴

🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。

🙏版权声明:文章里的部分文字或者图片来自于互联网以及百度百科,如有侵权请尽快联系小编。微信搜索公众号 Java 学术趴联系小编。

☠️每日毒鸡汤:这个社会是存在不公平的,不要抱怨,因为没有用!人总是在反省中进步的!

less 语法

1 less 语法

1.1 less 中的变量

使用 @来声明一个变量:@color:pink

  • 作为普通属性值来使用:直接使用 @pink

// 定义属性值变量,定义变量的时候必须以分号结束,否则找不到该变量@color:pink;.myDiv {  color: @color;}复制代码
复制代码
  • 作为选择器和属性名:#@{selector 的值}的形式

// 定义属性名的变量@m:margin;.myDiv {  @{m}: 10px;}// 定义标签选择器的变量@selector:warp;#@{selector} {  @{m}: 10px;}.@{selector} {  @{m}: 10px;}复制代码
复制代码
  • 作为 URL:@{url}

  • 变量的延迟加载 : less 中的变量都是延迟加载的。

// 变量的延迟加载@var: 0;.class {  @var: 1;    .brass {      @var: 2;      // 如果是顺序执行的,那么此时 size 的值应该是2      // 但是在less中存在变量的延迟加载,变量的赋值会等作用域中所有的数据加载完毕才会赋值      // 所以此时这个值就是 3      size: @var; // 3      @var: 3;    }  size: @var;}复制代码
复制代码

1.2 less 的嵌套规则

// less中的嵌套规则.myDiv {  margin: 10px;  background-color: pink;  // 基本嵌套,直接在一个标签选择器中嵌套一个新的标签选择器即可  .myDiv2 {    margin: 20px;    background-color: yellow;    // 不进行嵌套,同级使用,需要使用 & 符号,代表和的意思    &:hover{      background-color: aqua;    }  }}复制代码
复制代码

1.3 less 的混合

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

1.3.1 普通混合

  • 普通混合 : 混合会被编译到 css 文件中

// less混合的基本使用// 当两个HTML元素中存在多个一致的元素的时候// 此时就可以定义一个样式规则提供给他们两个使用// 此时这个混合会被编译到css文件中.guize {  background-color: pink;  font-size: 10px;  margin: 10px;}#myDiv {  .divOne {    .guize;  }  .divTwo {    .guize;  }}复制代码
复制代码

1.3.2 不带输出的混合

  • 不带输出的混合:混合不会编译到 css 文件中

// 给混合加上小括号之后,这个混合就不会被编译到css文件中.guize() {  background-color: pink;  font-size: 10px;  margin: 10px;}#myDiv {  .divOne {    .guize();  }  .divTwo {    .guize();  }}复制代码
复制代码

1.3.3 带参数的混合

  • 带参数的混合 : 可以给混合传递变量,并且不会输出到 css 文件中

// less可以动态的传递参数.guize(@w,@h,@c) {  font-size: @w;  margin: @h;  background-color: @c;}#myDiv {  .divOne {    .guize(10px,10px,pink)  }  .divTwo {    .guize(20px,20px,yellow)  }}复制代码
复制代码

1.3.4 带参数并且存在默认值的混合

  • 带参数并且存在默认值的混合:如果不给定实参,那么就会使用默认值,给定实参之后会覆盖默认值。

// less可以动态的传递参数.guize(@w:10px,@h:10px,@c:pink) {  font-size: @w;  margin: @h;  background-color: @c;}#myDiv {  .divOne {     // 上边给了默认值这里不给值会使用默认值    .guize()  }  .divTwo {    // 如果给定了新的实参值,那么会覆盖默认的    .guize(20px,20px,yellow)  }}复制代码
复制代码

1.3.4 命名参数

  • 命名参数:指定实参给哪个形参进行赋值,解决当实参和形参的个数不一致的问题。

// less可以动态的传递参数.guize(@w:10px,@h:10px,@c:pink) {  font-size: @w;  margin: @h;  background-color: @c;}#myDiv {  .divOne {     // 上边给了默认值这里不给值会使用默认值    .guize()  }  .divTwo {    // 如果这里的实参只给定一个,那么他会按照顺序进行赋值,也就是把yellow赋值给@w变量    // 但是我们想把这个颜色赋值给最后的 @c , 所以我们此时使用命名参数    // 使用命名参数指定将 yellow 赋值给哪个变量    .guize(@c:yellow)  }}
复制代码


发布于: 刚刚阅读数: 4
用户头像

Java学术趴

关注

还未添加个人签名 2022.07.02 加入

还未添加个人简介

评论

发布
暂无评论
less的基本语法_8月月更_Java学术趴_InfoQ写作社区