sass笔记

1、mixin deep

css 复制代码
// 样式穿透,作用是在样式中添加:deep(.n-button)
@mixin deep() {
  :deep() {
    @content;
  }
}

使用

css 复制代码
  @include deep() {
    .n-list-item {
      border-bottom: 0!important;
    }
    .n-button {
      height: 40px!important;
    }
  }

2、sass的内置方法map-get

css 复制代码
@function themed($key) {
  /**
  获取属性值,例如获取colors里的primary
   * $colors: (
  primary: #409eff,
  success: #67c23a
);

color: map-get($colors, primary); 
   */
  @return map-get($color, $key);
}

3、拼接公共类名

css 复制代码
// go的混合器,作用生成go-拼接的类名
@mixin go($block) {
  // $namespace是全局的变量go,go+传入类名,拼接成B变量
  $B: $namespace + '-' + $block;
  // 生成类.#{$B},@content;样式占位符
  .#{$B} {
    @content;
  }
}

使用

css 复制代码
@include go(item) {
  display: flex;
  flex-direction: column;
  .name {
    margin-top: 2px;
  }
}

4、属性选择器判断

css 复制代码
@mixin dark {
  // [data-theme='dark']是属性选择器,作用是当data-theme属性为dark时,执行样式
  [data-theme='dark'] {
    @content;
  }
}

5、动态拼id选择器

css 复制代码
@mixin goId($block) {
  $B: $namespace + '-' + $block;
  // 生成id选择器##{$B},@content;样式占位符
  ##{$B} {
    @content;
  }
}

6、减少每个文件都需要引入scss文件,直接在vite.config里配置

css 复制代码
  css: {
    preprocessorOptions: {
      scss: {
        // javascriptEnabled: true,
        additionalData: `@import "src/styles/common/style.scss";`
      }
    }
  },
相关推荐
灵感__idea12 小时前
Hello 算法:贪心的世界
前端·javascript·算法
GreenTea13 小时前
一文搞懂Harness Engineering与Meta-Harness
前端·人工智能·后端
守护安静星空14 小时前
esp32开发笔记-工程搭建
笔记·单片机·嵌入式硬件·物联网·visual studio code
ljt272496066114 小时前
Compose笔记(七十七)--视频录制
笔记·android jetpack
killerbasd15 小时前
牧苏苏传 我不装了 4/7
前端·javascript·vue.js
吴声子夜歌15 小时前
ES6——二进制数组详解
前端·ecmascript·es6
码事漫谈15 小时前
手把手带你部署本地模型,让你Token自由(小白专属)
前端·后端
ZC跨境爬虫15 小时前
【爬虫实战对比】Requests vs Scrapy 笔趣阁小说爬虫,从单线程到高效并发的全方位升级
前端·爬虫·scrapy·html
爱上好庆祝15 小时前
svg图片
前端·css·学习·html·css3
王夏奇16 小时前
python中的__all__ 具体用法
java·前端·python