【Vue工程】007-Scss

news2024/12/28 17:46:55

【Vue工程】007-Scss

文章目录

  • 【Vue工程】007-Scss
  • 一、概述
    • 1、CSS 问题
      • 三大缺点
      • CSS 预处理器
    • 2、简介
    • 3、中文网
    • 4、Slogan
  • 二、基本使用
    • 1、安装
    • 2、配置全局 scss 样式文件
    • 3、在 `vite.config.ts` 配置
    • 4、组件中使用
    • 5、访问 `http://localhost:5173/home`

一、概述

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 。

// sass
#sidebar
   width: 30%
   background-color: #faa
   
// scss
#sidebar {
   width: 30%;
   background-color: #faa;
}

3、中文网

https://www.sass.hk/

4、Slogan

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

二、基本使用

1、安装

pnpm add sass -D

2、配置全局 scss 样式文件

创建 src/assets/styles/index.scss

$theme-color: red;

3、在 vite.config.ts 配置

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、组件中使用

<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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/515671.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【OJ比赛日历】快周末了,不来一场比赛吗? #05.13-05.19 #14场

CompHub 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号同时会推送最新的比赛消息&#xff0c;欢迎关注&#xff01; 更多比赛信息见 CompHub主页 或 点击文末阅读原文 以下信息仅供参考&#xff0c;以比赛官网为准 目录 2023-05-…

AC AP简单组网

AC AP简单组网 1、LSW1交换机配置2、AC1控制器配置3、初步效果查看3.1、查看PC1获取地址情况3.2、查看AP获取地址情况 4、AC1控制器配置组网5、组网成功验收5.1、查看AP的物理地址&#xff08;dis arp)5.2、ensp模拟的拓扑结果5.3、STA链接到AP网络5.3、查看STA地址及连通性 vl…

ChatGPT:讯飞星火认知大模型-科大讯飞

讯飞星火认知大模型 科大讯飞推出的新一代认知智能大模型&#xff0c;拥有跨领域的知识和语言理解能力&#xff0c;能够基于自然对话方式理解与执行任务。从海量数据和大规模知识中持续进化&#xff0c;实现从提出、规划到解决问题的全流程闭环。 进入科大讯飞官网点击注册 …

【枚举+数学】CF1781D Many Perfect Squares

Many Perfect Squares - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意&#xff1a; 思路&#xff1a; n&#xff0c;1~50&#xff1a;对n暴力 x&#xff0c;0~1e18&#xff1a;O(1)计算 完全平方数&#xff1a;p^2 Code&#xff1a; #include <bits/stdc.h>#de…

liunx将普通用户提升为管理员

场景 用户要求将账号设置为管理员 操作如下 先登录服务器用管理员账号 打开配置文件/etc/sudoers 此时你会发现文件是空的&#xff0c;为什么呢&#xff1f;原因如下 因为当时使用的是管理员账号 需要切换成root才可以修改此文件 命令sudo su - 操作见图片 操作完之后 用户…

深入浅出解析 JVM 中的 Safepoint

1. 初识 Safepoint-GC 中的 Safepoint 最早接触 JVM 中的安全点概念是在读《深入理解 Java 虚拟机》那本书垃圾回收器章节的内容时。相信大部分人也一样&#xff0c;都是通过这样的方式第一次对安全点有了初步认识。不妨&#xff0c;先复习一下《深入理解 Java 虚拟机》书中安…

初识Linux篇:第二篇

初识Linux&#xff1a;第二篇 初识Linux&#xff1a;第二篇1.操作系统2.命令行3.Linux的基本指令3.1.ls指令3.2pwd指令3.3cd指令3.4touch指令3.5mkdir指令3.6.rmdir指令 && rm 指令 4.yum中有趣的程序4.1小火车4.2牛4.3Linux_logo(企鹅)4.4在Linux上打开网页 总结 初识…

【Spring全家桶与Mybatis】Spring环境下整合Mybatis(纯注解方式)

⭐️前面的话⭐️ 本文已经收录到《Spring框架全家桶系列》专栏&#xff0c;本文将介绍在Spring环境下整合mybatis。 &#x1f4d2;博客主页&#xff1a;未见花闻的博客主页 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4cc;本文…

520快给你喜欢的女生发个表白软件吧!【手把手教学】

文章目录 项目介绍一、创建项目二、设计窗体三、添加事件总结 项目介绍 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 开发工具&#xff1a;Visual Studio 2022 本项目是用C# Winform开发的一个小软件。 实现非常简单&#xff0c;下面看一下这个软件运行…

Vector - CAPL - CANoe硬件CANCANFD参数

如何更改与 CAPL 的 CAN 总线通信的波特率&#xff1f; 解决办法 通常我们常见的配置方法主要有两种方法可以使用 CAPL 更改波特率&#xff0c;使用函数 setBtr或使用 canSetConfiguration、canFdSetConfiguration。 1. setBtr(long channel, byte btr0, byte btr1) setBtr仅…

flink watermark介绍及watermark的窗口触发机制

Flink的三种时间 在谈watermark之前&#xff0c;首先需要了解flink的三种时间概念。在flink中&#xff0c;有三种时间戳概念&#xff1a;Event Time 、Processing Time 和 Ingestion Time。其中watermark只对Event Time类型的时间戳有用。这三种时间概念分别表示&#xff1a; …

[golang gin框架] 30.Gin 商城项目- 购物车商品确认页面以及收货地址的增删改查

一.界面展示 购物车页面 增加功能&#xff1a; 展示用户加入的购物车数据&#xff0c;并点击‘去结算’按钮&#xff0c; 判断是否选中商品 确认订单页面 展示 选中的购物车商品数据(商品标题&#xff0c;图片&#xff0c;数量等)以及 结算的数据(总的价格&#xff0c;总的数量…

【Spring】初识MyBatis (二)

&#xff08;接上一篇【Spring】[初识MyBatis&#xff08;一&#xff09;]&#xff09; 目录 1.2 根据用户名模糊查询用户信息2 添加客户3 更新用户4 删除用户 1.2 根据用户名模糊查询用户信息 【示例6-2】模糊查询的实现只需要在映射文件中通过元素编写相应的SQL语句&#x…

华为手机如何进入开发者模式?连接studio真机调试

对于安卓开发者来说&#xff0c;真机调试是非常好的选择&#xff0c;对电脑配置也没有过分的要求。如果采用Android Studio自带安卓虚拟机调试&#xff0c;真的很慢&#xff0c;一点都不友好。 真机调试的步骤&#xff1a;打开设置->关于手机->版本号&#xff0c;然后连…

并发编程12:AQS

文章目录 12.1 前置知识12.2 AQS入门级别理论知识12.2.1 是什么&#xff1f;12.2.2 AQS为什么是JUC内容中最重要的基石12.2.3 能干嘛&#xff1f;12.2.4 小总结 12.3 AQS源码分析前置知识储备12.3.1 AQS内部体系架构图12.3.2 AQS内部体系架构----AQS自身12.3.1 AQS内部体系架构…

一、H3C-NE实验-抓包实验

实验一&#xff1a;抓包实验&#xff08;PING包&#xff09; 实验拓扑结构图 1. 修改设备名称 步骤1&#xff1a;启动设备 步骤2&#xff1a;在路由器1&#xff0c;进入系统视图&#xff0c;并修改设备名称为R1 步骤3&#xff1a;在路由器2&#xff0c;进入系统视图&#xf…

【Java|基础篇】类和对象

文章目录 1. 前言2. 什么是面向对象3. 类的定义4. 类的实例化5. 对象的构造及初始化6. this引用7. 总结 1. 前言 本篇文章主要讲解了下面三个问题 类的定义和实例化构造方法this关键字 2. 什么是面向对象 众所周知面向过程和面向对象是两种重要的编程思想,而Java是属于面向…

C语言函数大全-- v 开头的函数

C语言函数大全 本篇介绍C语言函数大全-- v 开头的函数 1. va_start 1.1 函数说明 函数声明函数功能void va_start(va_list ap, last_arg);用于初始化一个 va_list 类型的变量&#xff0c;使其指向可变参数列表中的第一个参数 参数&#xff1a; ap&#xff1a; 一个指向 va_…

我的创作纪念日(个人感悟)

昨天2023年5月10日是我成为创作者的第128天纪念日&#xff0c;感谢CSDN官方的纪念信让我铭记这特殊的一天。 机缘 要说与CSDN的初次相遇&#xff0c;还是2022年的高考结束完的暑假&#xff0c;当时对于大学的学习没有什么概念&#xff0c;当初的高考志愿报的有计算机相关的专…

spring集成mybatis的原理

spring是怎样和mybatis继承的&#xff1f; 在idea里点mapper.queryOne()直接跳到了接口或xml&#xff0c;它究竟是怎样利用jdbc执行的&#xff1f; 我直接调用mapper.queryOne是怎么使用的sqlsession&#xff1f;怎么去connect的&#xff1f; mybatis是怎样根据mapper找到对应的…