less学习三---父选择器

匿名 (未验证) 提交于 2019-12-02 20:21:24

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

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

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!