• 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;
    }

    https://www.tmojm.com 创业加盟网

    更改选择器顺序

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

    示例:

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

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

    编译为 CSS 代码:

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

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

  • 相关阅读:
    检查宿舍卫生
    代码优化中 主窗口 问题 解决
    授权 存储
    升级Xcode7&iOS9后,出现NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -980X)
    控制器里面添加控制器
    版本新特性
    ios图片适配问题
    启动图片调整
    luogu_1896【题解】状压DP
    luogu_2602【题解】数位DP 数字计数
  • 原文地址:https://www.cnblogs.com/xiaonian8/p/15065704.html
Copyright © 2020-2023  润新知