zoukankan      html  css  js  c++  java
  • less学习三---父选择器

    引用父选择器需要用到“&”符号

    &运算符表示嵌套规则的父选择器,并且在修改类或伪类选择器的应用中非常普遍

    ul{
      li{
        &:nth-child(2) a {
          color: red;
          &:hover {
            color: yellow;
          }
        }
      }
    }
    
    //编译为
    ul li:nth-child(2) a {
      color: red;
    }
    ul li:nth-child(2) a:hover {
      color: yellow;
    }

    &也可以用在其他场景,例如产生重复的类名

    .button{
      &-submit{
        color:blue;
      }
      &-click{
        color:yellow;
      }
      &-btn{
        color:red;
      }
    }
    //编译成
    .button-submit {
      color: blue;
    }
    .button-click {
      color: yellow;
    }
    .button-btn {
      color: red;
    }

    .item{
    &1{
    color:green;
    }
    &2{
    color:red;
    }
    }


    //编译成
    .item1 {
    color: green;
    }
    .item2 {
    color: red;
    }
     
    .header{
      &>p{
        color:red;
      }
      &+.content{
        color:yellow;
      }
      & div{
        color:red;
      }
      &~p{
        color:green;
      }
      &&{
        color:green;
      }
      &>&{
        color:blue;
      }
    }
    //编译成
    .header > p {
      color: red;
    }
    .header + .content {
      color: yellow;
    }
    .header div {
      color: red;
    }
    .header ~ p {
      color: green;
    }
    .header.header {
      color: green;
    }
    .header > .header {
      color: blue;
    }

    还可以改变选择器的顺序,将&后置,将当前的选择器提到父级

    .side{
      div&{
        color:cyan;
      }
    }
    #side{
      div&{
        color:green;
      }
    }
    
    ul{
      li{
        .item{
          div &{
            color:orange;
          }
        }
      }
    }
    // 编译为
    div.side {
      color: cyan;
    }
    div#side {
      color: green;
    }
    div ul li .item {
      color: orange;
    }

    当多个同级选择器用“,”隔开时,其子级使用连续多个&时,例如&+&或&-&等,会生成所有可能的组合

    div,p,a,li{
      &+&{
        color:red;
      }
    }
    
    //编译为
    div + div,
    div + p,
    div + a,
    div + li,
    p + div,
    p + p,
    p + a,
    p + li,
    a + div,
    a + p,
    a + a,
    a + li,
    li + div,
    li + p,
    li + a,
    li + li {
      color: red;
    }
  • 相关阅读:
    express和koa,node.js的框架的区别——英文版
    深入javascript系列
    命名函数表达式相关
    闭包与作用域链,思考题目
    iOS开发之身份证号码校验
    iOS8中使用CoreLocation定位[转]
    iOS开发之应用内检测手机锁屏,解锁状态
    iOS8设置应用图标红点的权限问题
    删除已经配置的类库和移除CocoaPods[转]
    如何在Xcode6中添加空模板
  • 原文地址:https://www.cnblogs.com/aniu-caili/p/9523069.html
Copyright © 2011-2022 走看看