前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【Vue工程】007-Scss

【Vue工程】007-Scss

作者头像
訾博ZiBo
发布2025-01-06 15:00:41
发布2025-01-06 15:00:41
3900
代码可运行
举报
运行总次数:0
代码可运行

【Vue工程】007-Scss

一、概述

1、CSS 问题

参考文章:https://juejin.cn/post/7228009322729848889

三大缺点
  • css并不存在逻辑。这点是我认为css最欠缺的地方,不过目前貌似并没有任何一个工具能解决这个问题,css的动态调整依然时js在做。
  • css自身无合适的变量机制,虽然有–varible的语法,但是原生css的变量机制很难用。
  • css无法嵌套,导致css的可读性并不高,大部分时候就是只有写代码的人看看css,接手的人很容易一脸懵。
CSS 预处理器

鉴于这些问题,css 预处理器定义出了一种新的语言,其基本思想是,用一种专门的编程语言,进行 Web 页面样式设计,再通过编译器转化为正常的 CSS 文件,以供项目使用。它使得css更加简洁、方便修改、可读性强、适应性强并且更易于代码的维护。

2、简介

SCSS(Sassy CSS)是一种 CSS 预处理器,它扩展了 CSS 的功能并提供了更强大的工具和语法来帮助开发者更高效地编写和管理样式表。

SCSS 是基于 CSS 的语法,因此对于熟悉 CSS 的开发者来说,学习和使用 SCSS 相对较容易。它引入了一些新的概念和功能,如变量、嵌套规则、混合(Mixins)、继承(Inheritance)等,这些功能使得样式表更具模块化可重用性

css 预处理器包括 less,scss,sass,stylus

sass是由buby语言编写的一款css预处理语言,和html一样有严格的缩进风格,和css编写规范有着很大的出入,是不使用花括号和分号的,所以不被广为接受。 SCSS 和 CSS 写法无差别,这也是 Sass 后来越来越受大众喜欢原因之一。简单点说,把你现有的“.css”文件直接修改成“.scss”即可使用。Sass 从第三代开始,放弃了缩进式风格,并且完全向下兼容普通的 CSS 代码,这一代的 Sass 被称为 Scss 。

代码语言:javascript
代码运行次数:0
复制
// sass
#sidebar
   width: 30%
   background-color: #faa
   
// scss
#sidebar {
   width: 30%;
   background-color: #faa;
}

3、中文网

https://www.sass.hk/

4、Slogan

世界上最成熟、最稳定、最强大的专业级 CSS 扩展语言!

二、基本使用

1、安装

代码语言:javascript
代码运行次数:0
复制
pnpm add sass -D

2、配置全局 scss 样式文件

创建 src/assets/styles/index.scss

代码语言:javascript
代码运行次数:0
复制
$theme-color: red;

3、在 vite.config.ts 配置

代码语言:javascript
代码运行次数:0
复制
import { defineConfig, UserConfigExport } from 'vite';
import vue from '@vitejs/plugin-vue';
// 这个path用到了上面安装的 @types/node
import path from 'path';

// https://vitejs.dev/config/
const config: UserConfigExport = defineConfig({
  plugins: [vue()],
  // 在这里进行配置别名
  resolve: {
    alias: {
      // @代替src
      '@': path.resolve('./src'),
      // #代替types
      '#': path.resolve('./types'),
    },
  },
  // 配置 css 预处理器
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: '@import "@/assets/styles/index.scss";',
      },
    },
  },
});

export default config;

4、组件中使用

代码语言:javascript
代码运行次数:0
复制
<template>
  <div class="home">home</div>
</template>

<script lang="ts" setup></script>

<style lang="scss" scoped>
.home {
  color: $theme-color;
}
</style>

5、访问 http://localhost:5173/home

image-20230511224144891
image-20230511224144891
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【Vue工程】007-Scss
  • 一、概述
    • 1、CSS 问题
      • 三大缺点
      • CSS 预处理器
    • 2、简介
    • 3、中文网
    • 4、Slogan
  • 二、基本使用
    • 1、安装
    • 2、配置全局 scss 样式文件
    • 3、在 vite.config.ts 配置
    • 4、组件中使用
    • 5、访问 http://localhost:5173/home
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档