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;
    }
  • 相关阅读:
    MySQL_创建数据库和表
    MySQL注释的3中方法
    子查询概念和分类
    弱网测试如何进行
    Fiddler_ 移动端抓包配置IOS&Android,Fiddler获取APP端的流量
    Fiddler_HTTPS 如何抓包和浏览器设置
    Fiddler_弱网测试
    Three.js 游戏操作案例
    flex 教程
    JS知识
  • 原文地址:https://www.cnblogs.com/aniu-caili/p/9523069.html
Copyright © 2011-2022 走看看