如何在vite初始化项目中安装scss以及scss的使用

 更新时间:2022年10月18日 10:02:35   作者:m0_63466615  
今天想要给vite项目,添加全局的scss变量文件引用,这样我们在使用scss变量和函数的时候就不需要每个组件都取引用了,下面这篇文章主要给大家介绍了关于如何在vite初始化项目中安装scss以及scss使用的相关资料,需要的朋友可以参考下

1.scss安装        

(1)打开终端输入,

npm install sass -d

(2)在src/assets文件夹下新建  style文件夹(文件名可以自定义),在文件夹下新建main.scss文件          

(3)在vite.config.js中配置

export default defineConfig({
  plugins: [vue()],
  css: {
    preprocessorOptions: {
      scss: {
        additionalData:'@import "./src/assets/style/main.scss";'
      }
    }
  }
})

2.scss的简单使用         

 (1)变量的定义

例如:$blue: #3385ff

$表示这是一个变量;blue表示这个变量的名称;#3385ff代表这个变量的值

(2)简单使用

在HelloWorld.vue文件的style区

<style lang='scss'>
    body{
        background-color: $blue
    }
</style>    

如果页面背景变成了刚定义的颜色,说明scss使用成功

3.基本语法

变量除了可以定义在全局,也可以在单个页面中定义

(1)!default的使用       

$color-green: #0f0;
$color-green: #f55 !default;

这里这个变量的值,最终会显示为绿色,这是因为,!default的含义是,如果这个变量没有被赋值,那么就赋默认值,如果在其他地方被赋值,就取在其他地方被赋的值,可以理解为把这个默认值的优先级降到了最低,当没有其它地方赋值时候,才会选择默认值

(2)变量的取值也可以是变量

$hello: $color-green;

(3)@mixin可以定义一段代码作为模板样式

@mixin border-radius($radius: 5px, $borderRadius: 8px) {
  border: {
    radius: $radius;
    top: $borderRadius solid #ff0;
    bottom: $borderRadius solid #f00;
    left: $borderRadius solid #00f;
    right: $borderRadius solid #888;
  }
}

上面的代码可以看出,@mixin定义的变量,可以传参数,并且可以使用es6给函数参数默认值的方式赋值,且有相同的前缀的属性例如border,font...,可以把前缀和后边的拆开来写

在引用@mixin时,如果不传值,就会取默认的5px,8px,如果传值就会按参数位置来取值,例如下面的代码,取值就是5px,1px

@include border-radius(5px, 1px);

(4)&的使用

&可以引用父元素

  .inner {
    width: 10px;
    height: 10px;
    background-color: $blue;
  }
 
  $hover: #333;
 
  &:hover {
    background-color: $hover;
  }
 
//其实就是
    
  .inner {
    width: 10px;
    height: 10px;
    background-color: $blue;
  }
 
  $hover: #333;
 
  .inner:hover {
    background-color: $hover;
  }

(5)@extend的使用

@extend可以继承其它代码段

@mixin btn($width: 50px, $height: 20px, $font-size: 16px) {
  width: $width;
  height: $height;
  font-size: $font-size;
  text-align: center;
  line-height: $height;
  @include border-radius(5px, 1px);
  &:hover {
    opacity: 0.8;
    cursor: pointer;
  }
}
.btn {
  @include btn(80px, 30px, 12px);
  margin: {
    top: 10px;
  }
}
.btn-primary {
  @extend .btn;
  background-color: $light-blue;
  color: $fontColor;
}

这样.btn-primary就继承了.btn的所有属性,后边再写自己的特性

(6)%变量名的使用

%pd {
  padding-top: 100px;
}

在引用时

  @extend %pd;

但是如果%pd没有被引用,就不会产生代码,只有被引用后才会产生代码

总结

到此这篇关于如何在vite初始化项目中安装scss以及scss使用的文章就介绍到这了,更多相关vite初始化项目安装scss内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue自适应布局postcss-px2rem详解

    vue自适应布局postcss-px2rem详解

    这篇文章主要介绍了vue自适应布局(postcss-px2rem)的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-05-05
  • vue前端实现打印下载示例详解

    vue前端实现打印下载示例详解

    这篇文章主要为大家介绍了vue前端实现打印下载示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Vue实现浏览器打印功能的代码

    Vue实现浏览器打印功能的代码

    这篇文章主要介绍了Vue实现浏览器打印功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Vue.js 中的 v-model 指令及绑定表单元素的方法

    Vue.js 中的 v-model 指令及绑定表单元素的方法

    这篇文章主要介绍了Vue.js 中的 v-model 指令及绑定表单元素的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-12-12
  • vue3中实现拖拽排序代码示例(vue-draggable-next的使用)

    vue3中实现拖拽排序代码示例(vue-draggable-next的使用)

    在Vue3中使用拖拽功能时应选用vue-draggable-next插件,传统的draggable插件不兼容Vue3,可能导致TypeError错误,安装后,需在项目中引入并使用,具体步骤包括安装插件、引入使用、查看效果和相关说明,需要的朋友可以参考下
    2024-09-09
  • 详解Vue中如何进行状态持久化

    详解Vue中如何进行状态持久化

    在Vue应用中,通常需要将一些状态进行持久化,以便在用户关闭浏览器或刷新页面后,常见的方法就是LocalStorage和SessionStorage,所以本文就来讲讲这两种方法的具体实现吧
    2023-06-06
  • elementUI select组件value值注意事项详解

    elementUI select组件value值注意事项详解

    这篇文章主要介绍了elementUI select组件value值注意事项详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • webpack dev-server代理websocket问题

    webpack dev-server代理websocket问题

    这篇文章主要介绍了webpack dev-server代理websocket问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • vue.js将unix时间戳转换为自定义时间格式

    vue.js将unix时间戳转换为自定义时间格式

    这篇文章主要介绍了vue.js将unix时间戳转换为自定义时间格式的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • Vue组合式API如何正确解构props不会丢失响应性

    Vue组合式API如何正确解构props不会丢失响应性

    响应式 API 赋予了组合式 API 一大坨可能性的同时,代码精简,虽然但是,我们应该意识到响应性的某些陷阱,比如丢失响应性,在本文中,我们将学习如何正确解构 Vue 组件的 props,使得 props 不会丢失响应性
    2024-01-01

最新评论