码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 在vite初始化的项目中安装scss,及scss的使用


    目录

    1.scss安装

            (1)打开终端输入,

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

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

    2.scss的简单使用

              (1)变量的定义

            (2)简单使用

    3.基本语法

            (1)!default的使用       

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

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

            (4)&的使用

            (5)@extend的使用

            (6)%变量名的使用


    1.scss安装

            (1)打开终端输入,

    npm install scss -d

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

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

    1. export default defineConfig({
    2. plugins: [vue()],
    3. css: {
    4. preprocessorOptions: {
    5. scss: {
    6. additionalData:'@import "./src/assets/style/main.scss";'
    7. }
    8. }
    9. }
    10. })

    2.scss的简单使用

             (1)变量的定义

                    例如:$blue: #3385ff

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

          (2)简单使用

                    在HelloWorld.vue文件的style区

    1. <style lang='scss'>
    2. body{
    3. background-color: $blue
    4. }
    5. </style>

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

    3.基本语法

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

            (1)!default的使用       

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

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

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

    $hello: $color-green;

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

    1. @mixin border-radius($radius: 5px, $borderRadius: 8px) {
    2. border: {
    3. radius: $radius;
    4. top: $borderRadius solid #ff0;
    5. bottom: $borderRadius solid #f00;
    6. left: $borderRadius solid #00f;
    7. right: $borderRadius solid #888;
    8. }
    9. }

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

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

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

            (4)&的使用

    &可以引用父元素

    1. .inner {
    2. width: 10px;
    3. height: 10px;
    4. background-color: $blue;
    5. }
    6. $hover: #333;
    7. &:hover {
    8. background-color: $hover;
    9. }
    10. //其实就是
    11. .inner {
    12. width: 10px;
    13. height: 10px;
    14. background-color: $blue;
    15. }
    16. $hover: #333;
    17. .inner:hover {
    18. background-color: $hover;
    19. }

                 (5)@extend的使用

            @extend可以继承其它代码段

    1. @mixin btn($width: 50px, $height: 20px, $font-size: 16px) {
    2. width: $width;
    3. height: $height;
    4. font-size: $font-size;
    5. text-align: center;
    6. line-height: $height;
    7. @include border-radius(5px, 1px);
    8. &:hover {
    9. opacity: 0.8;
    10. cursor: pointer;
    11. }
    12. }
    13. .btn {
    14. @include btn(80px, 30px, 12px);
    15. margin: {
    16. top: 10px;
    17. }
    18. }
    19. .btn-primary {
    20. @extend .btn;
    21. background-color: $light-blue;
    22. color: $fontColor;
    23. }

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

            (6)%变量名的使用

    1. %pd {
    2. padding-top: 100px;
    3. }

    在引用时

      @extend %pd;

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

  • 相关阅读:
    RLChina 2022学习笔记——理论课一:机器学习和深度学习基础
    2021年6月大学英语六级作文
    新技术越来越多,作为程序员,我们应该怎么规划职业生涯? | 社区征文
    docker下使用seata异常
    awvs 中低危漏洞
    内网安全120天
    MySql取最近七天的日期字符串
    谈及区块链,我们脑海当中首先浮现出来的是,狂热、浮躁的场景
    智慧园区信息化管理系统发展现状及难题
    nginx配置中$http_host、$host、$host:$proxy_port和$host:$server_port区别
  • 原文地址:https://blog.csdn.net/m0_63466615/article/details/125558468
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号