css样式中&的用法

一、认识“&”

在css中,“&”符号通常用于选择器中,表示选择某个元素的子元素或特定状态下的元素.

二、“&”的用法

1、&- :连接父元素和子元素的类名
用法:

.btn {
  &-primary {
    background-color: #007bff;
    color: #fff;
  }
}

编译出来的结果是在btn后面拼接了类名:

.btn-primary {  
   background-color: #007bff;
   color: #fff;
}

2、&. :连接父元素和子元素的类名
用法:

.btn {
  &.primary {
    background-color: #007bff;
    color: #fff;
  }
}

编译出来的结果是同一个元素,有两个类名,两个类名之间没有空格:

.btn.primary {
   background-color: #007bff;
   color: #fff;
}

3、&::before和&::after :表示在当前元素的前面或后面插入伪元素

btn {
  &::before {
    content: "before";
  }
  
  &::after {
    content: "after";
  }
}

4、&:hover&:focus:表示鼠标悬停聚焦时应用的样式

btn {
  &:hover {
    background-color: #eee;
  }
  
  &:focus {
    outline: none;
    box-shadow: 0 0 0 2px #007bff;
  }

编译后的结果是当用户悬停在 button 元素上时,应用 background-color: #eee; 样式;当用户聚焦在 button 元素上时,应用 outline: none; box-shadow: 0 0 0 2px #007bff; 样式。

5、&[attribute=value] :表示选择具有特定属性和属性值的元素
用法:

btn {
  &[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
  }
  
  &[type="submit"] {
    background-color: #007bff;
    color: #fff;
  }
}

编译出来的结果是选择具有 disabled 属性的 button 元素,并应用 opacity: 0.5; cursor: not-allowed; 样式;同时选择具有 type="submit" 属性的 button 元素,并应用 background-color: #007bff; color: #fff; 样式:

button[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}
 
button[type="submit"] {
  background-color: #007bff;
  color: #fff;
}

6、&:nth-child(n)&:nth-of-type(n):表示选择特定位置的子元素或同类型元素

ul {
  li {
    &:nth-child(odd) {
      background-color: #f7f7f7;
    }
    
    &:nth-of-type(even) {
      color: #007bff;
    }
  }
}

7、&:first-child 选择器用来匹配父元素中第一个子元素。
&:last-child 选择器用来匹配父元素中最后一个子元素。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载自牢记31种CSS选择器用法 1 * 星号选择器用于选取页面中的所有元素,可用于快速清除所有元素的 margi...
    Icestains阅读 5,028评论 0 1
  • 声明变量 定义变量的语法: 在有些编程语言中(如,JavaScript)声明变量都是使用关键词“var”开头,但是...
    Junting阅读 5,305评论 0 6
  • 一、Sass的语法格式及编译调试 1. Sass和scss的区别 本质上来说是同一个东西,只是语法上有细微的差异:...
    没汁帅阅读 5,179评论 0 5
  • 本文链接:https://blog.csdn.net/LongIvan/article/details/83832...
    townof1997阅读 2,166评论 0 0
  • CSS 什么是CSSCSS的作用是:可以给网页中的每一个元素设置样式("化妆"、排版布局),让网页更加精美。完全没...
    z_z阅读 2,778评论 0 0