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

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

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

less学习三---父选择器的更多相关文章

  1. JQuery学习笔记——层级选择器

    JQuery学习笔记--层级选择器 上一篇学习了基础的五种选择,分别是id选择器,class选择器,element选择器,*选择器 和 并列选择器.根据手册大纲,这篇学习的是层级选择器. 选择器: 1 ...

  2. 理解CSS中的三种选择器>+~

    1. p~ul p和ul有相同的父元素,选择出p元素之后的所有ul元素,其中,p和ul不一定是紧随,但是必须有相同的父元素 E+F            相邻兄弟选择器.选择匹配F的元素,且该元素位于 ...

  3. 【转载】 “强化学习之父”萨顿:预测学习马上要火,AI将帮我们理解人类意识

    原文地址: https://yq.aliyun.com/articles/400366 本文来自AI新媒体量子位(QbitAI)     ------------------------------- ...

  4. Hinton“深度学习之父”和“神经网络先驱”,新论文Capsule将推翻自己积累了30年的学术成果时

    Hinton“深度学习之父”和“神经网络先驱”,新论文Capsule将推翻自己积累了30年的学术成果时 在论文中,Capsule被Hinton大神定义为这样一组神经元:其活动向量所表示的是特定实体类型 ...

  5. Vue省市区三级联选择器V-Distpicker的使用

    Vue省市区三级联选择器V-Distpicker的使用 最近用的Vue+Element UI时,有些地方需要用到省市区三联选择器,网上安装并尝试了多种类似的插件,但都因为无法正常实现或是没有眼缘而弃用 ...

  6. day 82 Vue学习三之vue组件

      Vue学习三之vue组件   本节目录 一 什么是组件 二 v-model双向数据绑定 三 组件基础 四 父子组件传值 五 平行组件传值 六 xxx 七 xxx 八 xxx 一 什么是组件 首先给 ...

  7. HTTP学习三:HTTPS

    HTTP学习三:HTTPS 1 HTTP安全问题 HTTP1.0/1.1在网络中是明文传输的,因此会被黑客进行攻击. 1.1 窃取数据 因为HTTP1.0/1.1是明文的,黑客很容易获得用户的重要数据 ...

  8. TweenMax动画库学习(三)

    目录               TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)           ...

  9. Struts2框架学习(三) 数据处理

    Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:Value ...

随机推荐

  1. HTML表单(form)的“enctype”属性

    Form元素的语法中,EncType表明提交数据的格式 属性值: application/x-www-form-urlencoded:在发送前编码所有字符(默认) multipart/form-dat ...

  2. 深度语义匹配模型-DSSM 及其变种

    转自:http://ju.outofmemory.cn/entry/316660 感谢分享~ DSSM这篇paper发表在cikm2013,短小但是精炼,值得记录一下 ps:后来跟了几篇dssm的pa ...

  3. Oracle VM virtualBox -Centos6.4 安装后没有网解决方法

    1.先修改Oracle VM virtualBox 的网络配置 2.然后启动centos输入:  dhclient eth0 3.然后如果没报错的话  输入: ifconfig  就可以查看到ip地址 ...

  4. 杂谈spring、springMVC

    一.背景 目前项目组都在用SSM(spring+springMVC+mybatis)开发项目 大家基本都停留在框架的基本使用阶段,对框架的职责并不清晰,导致配置文件出现了不少问题 在这简单讲解一下sp ...

  5. elenium2学习(十六)-- 富文本(自动发帖)

    前言 富文本编辑框是做web自动化最常见的场景,有很多小伙伴遇到了不知道无从下手,本篇以博客园的编辑器为例,解决如何定位富文本,输入文本内容 一.加载配置 1.打开博客园写随笔,首先需要登录,这里为了 ...

  6. 再学UML-UML用例建模解析(三)

    2. 编写用例文档 绘制用例图只是完成了用例建模最基本也是最简单的一步,用例建模的核心在于编写用例文档,用例文档又称为用例规约或用例描述.顾名思义,用例文档是用于描述用例的文档,每一个用例对应于一个用 ...

  7. PL/SQL Developer import and export database method and illustrate

    PL/SQL Developer import and export database method and illustrate   HOW WELL DO YOU KNOW THE APPLE U ...

  8. TP5.0:新建控制器

    例如,我们在admin模块下创建一个名为OneMenu.php的控制器 1.在该控制器文件中内容为: 2.访问的URL为:http://localhost/tp5/public/index.php/a ...

  9. 恢复scout工具栏

    删除scout安装路径 C:\PROGRAM FILES\SIEMENS\STEP7\U7UMC\DATA\WRKBNCH 下的三个文件: acppersi.dat uespersi.dat uesu ...

  10. oracle 比较两个用户表结构的区别。

    create table ESPACE_TABLE ( TABLE_NAME ) not null ) create table ESPACE_COLUMN ( TABLE_NAME ) not nu ...