Less 嵌套

更新日期: 2020-06-16阅读: 1.5k标签: less

本节我们学习 Less 中的嵌套,嵌套应该很容易理解,html 语言中就支持标签的嵌套。我们在使用 css 时,如果想要为多层嵌套的元素设置样式,要么给元素加上一个类选择器或ID选择器,要么使用后代选择器。例如:

.xkd{
  font-size: 14px;
}
.xkd p{
  line-height: 25px;
}
.xkd p span{
  color: #ccc;
}

这样写虽然也好理解,但是没有那么直观,维护起来也不方便。

而 Less 中的嵌套规则正好可以解决这样问题,嵌套规则允许在一个选择器中嵌套另一个选择器,这样可以使得代码看起来一目了然,后期维护也方便。


嵌套的使用

例如上面的 CSS 代码使用 Less 语言来写:

.xkd{
   font-size: 14px;
   p{
      line-height: 25px;
      span{
         color: #ccc;
      }
   }
}

这样整体看起来是不是更直观一些,一层套一层。但是注意哟,一般我们不会嵌套太多层,嵌套的层数越多,性能就越差,建议一般嵌套三层左右。


&符号的使用

在我们使用嵌套规则时,要特别注意 & 符号的使用,& 符号可以表示对父选择器的引用。

在一个内层选择器的前面,如果没有 & 符号,则这个内层选择器会被解析为父选择器的后代。如果内层选择器前面有一个 & 符号,则内层选择器会被解析为父选择器自身或父选择器的伪类。

示例:

例如我们看下面这段代码:

.xkd{
    a{
        color: #eee;
    }
}

编译成 CSS 代码:

.xkd a {
  color: #eee;
}

可以看到,标签选择器 a 前面没有加 & 符号,所以这个标签选择器 a 被解析为 .xkd 选择器的后代。

示例:

再来看一下内层选择器前面加 & 符号:

.xkd{
   &one{
      font-size: 12px;
   }
   &:hover{
       color: #fff;
   }
}

编译成 CSS 代码:

.xkdone {
  font-size: 12px;
}
.xkd:hover {
  color: #fff;
}

上面代码中,one 前面添加了一个 & 符号,这个符号就表示父选择器本身,所以解析后为.xkdone。当然 :hover 伪类前面的 & 符号也是同理。


重复引用父选择器

通过使用 & 符号,可以重复引用父类选择器。

示例:

例如下面这段 Less 代码,如果我们希望每个选择器名的前缀都为 top,可以像下面这样简写:

.xkd{
   &-one{
       font-size: 14px;
   }
   &-two{
       font-size: 16px;
   }
   &-three{
       font-size: 18px;
   }
}

编译为 CSS 代码:

.xkd-one {
  font-size: 14px;
}
.xkd-two {
  font-size: 16px;
}
.xkd-three {
  font-size: 18px;
}

除此之外,还可以同时使用多个 & 符号,并使用其他运算符连接起来:

.xkd{
   &&-one{
       font-size: 14px;
   }
   &,&-two{
       font-size: 16px;
   }
   &, &er{
       font-size: 18px;
   }
}

编译为 CSS 代码:

.xkd.xkd-one {
  font-size: 14px;
}
.xkd,
.xkd-two {
  font-size: 16px;
}
.xkd,
.xkder {
  font-size: 18px;
}


更改选择器顺序

什么是更改选择器顺序呢,就是有些时候可能需要将内层选择器放在父选择器之前,此时我们可以将 & 放在当前选择器后面来完成。

示例:

例如下面这段代码,我们希望 .xkd 选择器位于 .nav 选择器之前,可以在 .xkd 选择器的后面加一个 & 符号:

.nav{
   font-size: 14px;
   .xkd &{
     color: #fff;
   }
}

编译为 CSS 代码:

.nav {
  font-size: 14px;
}
.xkd .nav {
  color: #fff;
}

可以看到,编译之后的 CSS 代码中 .xkd 选择器位于 .nav 选择器前面。


总结

本节我们主要掌握 Less 中的嵌套规则和 & 符号的使用, & 符号可以表示父选择器。最后,记住使用嵌套的时候不要嵌套太多层,会影响性能。

链接:https://www.9xkd.com/


链接: https://www.fly63.com/article/detial/9584

LESS 原理,一款css的预处理程序Less的使用

LESS 包含一套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的 CSS 文件。LESS 并没有裁剪 CSS 原有的特性,更不是用来取代 CSS 的,而是在现有 CSS 语法的基础上,为 CSS 加入程序式语言的特性。

如何将less编译成css文件__less自动编译成css的方法总结

作为css的预处理less,拥有着比css更快捷方便,扩展了css的变量、Mixin、函数等特性,使 CSS 更易维护和扩展。下面是介绍如何将less文件转换成css文件。

vscode如何将less编译到指定css目录中

使用vscode的搬砖猿,想要在vscode编辑器里面很方便的编译less文件,需要在扩展商店里面下载一款名叫Esay LESS的超好用扩展,配置我们的LESS,我们需要在.vscode文件夹中建立一个settings.json的文件

less文件转换为css文件

Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。本文主要介绍less文件如何转化为css文件

less相关知识点总结

HTML和CSS不属于编程语言而是属于标记语言,很难像JS一样定义变量、编写方法、实现模块化开发等。LESS是一门CSS预处理语言,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS更易维护和扩展。

css媒体查询aspect-ratio宽高比在less中的使用

css媒体查询有一个 宽高比很方便,aspect-ratio ,可以直接使用宽/高 来进行页面适配 使用样例如下:注意三点:

Less 变量

使用 @ 符号定义变量,变量分配使用 : 完成。声明格式:@变量名:变量值 。通常看到很多重复的相同的值,我们可以通过使用变量来避免。Less中的变量和其他编程语言一样,可以实现值的复用

移动端开发rem布局之less+媒体查询布局的原理步骤和心得

less:是一门css扩展语言,也成为css预处理器,引入了变量,mixin(混入)、运算以及函数等功能,首先写一个common.less文件,专门用于媒体查询,其中常用的屏幕大小单位有

Less导入选项

Less 提供了CSS @import CSS规则的几个扩展,以提供更多的灵活性来处理外部文件。使用 @import(reference)导入外部文件,但除非被引用

less循环和合并

Loops语句允许我们多次执行一个语句或一组语句。在Less中,mixin可以自称,与 Guard表达式和模式匹配组合使用时,这个递归mixin可以创建各种迭代/循环结构。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!