当前位置: 首页 > article >正文

vue3:scss引用

原文查看:https://mp.weixin.qq.com/s?__biz=Mzg3NTAzMzAxNA==&mid=2247484356&idx=2&sn=44b127cd394e217b9e3c4eccafdc0aa9&chksm=cec6fb1df9b1720b7bd0ca0b321bf8a995fc8cba233deb703512560cbe451cfb1f05cdf129f6&token=1776233257&lang=zh_CN#rd

关注原文:

1. 首先需要在项目根目录下安装scss


npm i sass

2.在src目录下创建bem.scss文件


// bem.scss
$namespace:'xm' !default;
$block-sel:'-' !default;
$elem-sel:'__' !default;
$mod-sel:'--' !default;

@mixin bfc {
  height: 100%;
  overflow: hidden;
}

// block
@mixin b($block){
  $B:#{$namespace + $block-sel + $block};
  .#{$B}{
    // 内容占位符
    @content;
  }
}

@mixin e($el){
  $selector: &;
  // @at-root 平铺,编译后不会加父级选择器
  @at-root {
    #{$selector + $elem-sel + $el}{
      @content
    }
  }
}

@mixin m($m){
  $selector: &;
  @at-root {
    #{$selector + $mod-sel + $m}{
      @content
    }
  }
}

3. 全局引用,在 vite.config.ts 文件下做如下配置css:{

 preprocessorOptions:{
  scss:{
    // 全局引入scss
    additionalData:`@import "./src/bem.scss";`
  }
 }
}

完整配置代码

4. 开始使用,全局引用之后就可以在所有页面使用了

<template>
  <div class="xm-test">
    小田
    <div class="xm-test__inner">el</div>
  </div>
</template>
<script setup lang='ts'>
</script>
<style lang="scss">
  @include b(test){
    color: red;
    @include e(inner){
      color: blue;
    }
  }
</style>

4.1 样式编译后如下:


.xm-test {
  color: red;
}
.xm-test__inner {
  color: blue;
}


http://www.kler.cn/a/403137.html

相关文章:

  • Lucene(2):Springboot整合全文检索引擎TermInSetQuery应用实例附源码
  • Qt之QWidget相关
  • Swift从0开始学习 协议和扩展 day5
  • 一种程序结构设计json,多线程,避免数据竞争
  • 【AI编程实战】安装Cursor并3分钟实现Chrome插件(保姆级)
  • 简单工厂模式、方法工厂模式
  • stm32————重映射基础知识点(PWM呼吸灯实验)
  • 模型压缩——训练后剪枝
  • windows安装redis, 修改自启动的redis服务的密码
  • Vue3 组件 view-shadcn-ui 2024.4.0 发布
  • 解决IntelliJ IDEA的Plugins无法访问Marketplace去下载插件
  • AWTK-WIDGET-WEB-VIEW 实现笔记 (2) - Windows
  • 阻尼Newton方法-数值最优化方法-课程学习笔记-5
  • 沃丰科技出海客服解决方案:为中国企业出海保驾护航
  • 第二十周:机器学习
  • WPF下 DataGrid加入序号列
  • STM32 | 超声波避障小车
  • 认识c++(c++入门)
  • 理解 Python 中的 __getitem__ 方法:在自定义类中启用索引和切片操作
  • 机器视觉相机重要名词
  • 建立独一无二的GitHub Profile
  • 很能体现FPGA硬件思维的一道面试题
  • docker的logs命令可以查看docker容器日志
  • [BSidesCF 2019]SVGMagic
  • 代替Spinnaker 的 POINTGREY工业级相机 FLIR相机 Python编程案例
  • pytest | 框架的简单使用