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";`
      }
    }
  },
相关推荐
开开心心就好2 小时前
批量提取PDF中的图片,直接导出原图
前端·javascript·支持向量机·智能手机·pdf·html·启发式算法
M78佐菲3 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
Setsuna_F_Seiei4 小时前
前端转型 Agent 开发 05 之 Agent Hooks 与 Checkpointer(让 Agent 从全自动转变人为可掌控)
前端·agent·ai编程
益达丫4 小时前
Socket编程揭秘:端口、IP与进程通信的底层逻辑
linux·笔记
百万蹄蹄向前冲6 小时前
风扇转了一晚上MVP专家团翻车事故
前端·人工智能
默_笙6 小时前
🏛 给 AI 配一间办公室:Harness Engineering 六大模块与它的实现
前端·javascript
linux_cfan7 小时前
videojs v10 源代码系列解读:14 · 谓词守卫:在运行时安全地调用能力
前端·javascript·音视频
kyriewen7 小时前
我扒了 10,221 条 JD:腾讯技术岗 75% 在要 AI
前端·人工智能·ai编程
郑州光合科技余经理8 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
IT_陈寒9 小时前
Vue的响应式让我熬到凌晨三点,原来漏了这个小细节
前端·人工智能·后端