认识Sass

 sass中文文档:

Sass: Sass 文档

1.     sass的安装步骤

   

1.      卸载冲突的Node.js

   

(1)    win+R输入control,找到电脑上的卸载软件,找到Node.js,右键”卸载”

   

(2)    win+R输入cmd,输入命令:node -v查看结果。

   

如果提示: 'node' 不是内部或外部命令,也不是可运行的程序,说明【卸载成功】

   

如果提示版本号,说明没有卸载成功,需要继续卸载

   

2.      安装插件:

   

(1)    确保自己的电脑是联网状态

   

(2)    打开HBuilder,点击”工具”->”插件安装”->”安装新插件”->”前往插件市场安装(P)”

   

(3)    在打开的页面中,找到Sass插件,点击”下载”

   

(4)    在打开的页面中,选中”使用HBuilderX导入插件”

   

(5)    此时提示需要登录,如果没有账号,可以先注册一个账号再登录

   

(6)    登录后,继续选择页面上的”使用HBuilderX导入插件”

   

(7)    提示需要安装HBuilder新版本,点击”继续”

   

(8)    弹窗提示”是否打开HBuilder”选择”打开”

   

(9)    HBuilder提示”是否安装sass插件?”点击”是”等待安装成功即可

   

(10) 可以在”工具”->“插件安装”->”已安装插件”中找到sass,说明安装成功

   

2.     sass的简介

   

平时写样式使用的是CSS,sass可以看作是CSS的“预处理器”,是一种专门的CSS编程语言

   

增加了变量、函数、嵌套、判断、循环等等的用法,让CSS编写更便捷,清晰

   

   

sass的语法和版本

   

.sass是早期sass技术文件的后缀名,3.0版本之前一直使用的是它,文件编辑语法严格

   

3.0版本之后,后缀名改成了.scss,这种后缀使用的就是CSS语法,学习成本大大降低

   

   

.scss文件必须通过编译,生成同名的.css文件,才可以被html使用

   

3.     入门案例

   

步骤:

   

1.      在目录下创建scss文件夹

   

2.      在scss文件夹下创建01.scss文件,代码: body{ background-color:#f00; }

   

3.      选择“工具”->“外部命令”->“scss/sass编译”->“编译scss/sass”

   

4.      会在scss文件夹下看到生成了一个同名的01.css文件,里面的内容与scss文件内容一致

   

4.     HBuilder中配置sass插件自动编译效果

   

1.      选择“工具”->“外部命令”->“scss/sass编译”->“插件配置”

   

2.      在打开的package.json文件中,修改第25行和27行的内容

   

"key":  "ctrl+s" 表示通过保存快捷键触发                                                                                                     
    

   

"onDidSaveExecution":  true 表示开启自动编译

   

3.      保存修改后的配置文件,重启HBuilder即可

   

4.      可能有的同学重启后自动编译未生效,那么需要再自己手动编译1~2次,就可以自动编译了

   

5.  sass规则

1.     注释规则

   

//comment注释  sass的注释方式,这种方式只能在scss文件中使用,不会编译到CSS文件中

   

/*comment注释*/ CSS的注释方式,sass中可以使用,并且可以编译到CSS文件中

   

2.     sass变量

   

为什么要使用变量?

   

比如企业要设置主题色,改版时需要将所有的企业色改掉,如果我们使用了变量,那么只需要修改变量的颜色就可以改掉出现的所有色值,无需大量更改了

   

所以,变量用于保存需要重复出现的值,方便代码的后期维护

   

   

变量的加载和读取顺序

   

必须先创建变量,再使用变量,否则报错

   

   

全局变量和局部变量

   

全局变量是直接写在scss文件中的

   

局部变量是写在某个选择器的{}中的,只有在作用域内才能使用,出了此选择器就用不了了

   

3.     父选择器

   

使用&就代表它的上一层选择器,在嵌套写法中,使用父选择器&进行站位

   

搭配伪类、伪元素一起使用,保证选择器的结构正确

   

   

.box {

&:hover { }

&>span{ }

}

   

等价于: .box:hover{}   .box>span{}

   

4.     插值语句

   

格式: #{变量名}

   

上面我们学习到,变量可以保存css的值,但是我们不能直接在css选择器中直接使用变量

   

如果需要在css选择器中通过变量名插入变量的值,就需要用#{ }包裹变量名,才可以使用,否则报错

   

$daohang:nav;

$liebiao:list;

.#{$daohang}-item { color:#f00;}

.#{$liebiao}-item { color: #f00;}

   

5.     混合指令

   

混合指令的语法:

   

@mixin 创建混合指令的语法,指令的名称自定义,但注意不能用数字开头

   

@include 使用混合指令的语法

   

   

注意:混合指令可以定义参数,使用时要按照定义的顺序依次传参

   

6.     继承

   

格式:@extend 被继承的选择器

   

继承:一个元素想要使用另一个元素的全部样式

   

继承后会编译形成群组选择器,更加优化

   

我们还可以同时继承多个选择器的样式,使用逗号隔开

   

注意:写的是完整的选择器,不是只有名字!  如:@extend .box2,.box4;

   

7.     占位符选择器%

   

如:%juxing这是一个选择器,这个选择器的样式可以被继承走

   

但注意:使用占位符的选择器的样式不会被编译

   

%juxing {

    width: 120px;

    height: 40px;

}  这个样式只在scss文件中有,不会编译到css中!

.box5 {

    @extend  %juxing;

}

   

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

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

相关文章

设计模式浅析(九) ·模板方法模式

设计模式浅析(九) 模板方法模式 日常叨逼叨 java设计模式浅析,如果觉得对你有帮助,记得一键三连,谢谢各位观众老爷😁😁 模板方法模式 概念 模板方法模式(Template Method Pattern)在Java中是…

利用 lxml 库的XPath()方法在网页中快速查找元素

XPath() 函数是 lxml 库中 Element 对象的方法。在使用 lxml 库解析 HTML 或 XML 文档时,您可以通过创建 Element 对象来表示文档的元素,然后使用 Element 对象的 XPath() 方法来执行 XPath 表达式并选择相应的元素。 具体而言,XPath() 方法是…

蓝桥杯STM32G431RBT6实现按键的单击、双击、长按的识别

阅读引言: 是这样, 我也参加了这个第十五届的蓝桥杯,查看竞赛提纲的时候发现有按键的双击识别, 接着我就自己实现了一个按键双击的识别,但是识别效果不是特别理想,偶尔会出现识别不准确的情况,接…

java反射高级用列(脱敏+aop)

ClassUtils 、FieldUtils、MethodUtils、ReflectionUtils高级 List<String> list = new ArrayList<>(); Class<?> userClass = ClassUtils.getUserClass(list.getClass()); System.out.println(Collection.class.isAssignableFrom(userClass)); Class<?…

云原生之容器编排实践-ruoyi-cloud项目部署到K8S:MySQL8

背景 前面搭建好了 Kubernetes 集群与私有镜像仓库&#xff0c;终于要进入服务编排的实践环节了。本系列拿 ruoyi-cloud 项目进行练手&#xff0c;按照 MySQL &#xff0c; Nacos &#xff0c; Redis &#xff0c; Nginx &#xff0c; Gateway &#xff0c; Auth &#xff0c;…

Delay/disruption tolerant networking (DTN) 与deep-space communications中的数据存储问题

文章目录 来源abstractintroBP运行及Bundle节点概述具体细节custody transfer 来源 https://www.pismin.com/10.1109/twc.2015.2394397 背景&#xff1a;考虑到深空通信的高时延和易发生中断的特性&#xff0c;为了保证通信的可靠性&#xff0c;DTN采用了捆绑协议 (BP) &…

windows安装fay数字人

创建虚拟环境 conda create -p D:\CondaEnvs\paystu python3.9下载所需资料 源代码 数字形象 将源代码和虚拟象形解压 再源代码文件夹下激活虚拟环境 conda activate D:\CondaEnvs\paystu安装依赖包 注意 会安装pytorch # conda install --yes --file requirements.txt pi…

jupyter notebook闪退解决,安美解决

jupyter notebook闪退 解决方法 打开这个目录 删除含有“~”开头的文件 解决

第十一届蓝桥杯省赛第一场C++ A/B组《解码》(c++)

1.题目说明 小明有一串很长的英文字母&#xff0c;可能包含大写和小写。 在这串字母中&#xff0c;有很多连续的是重复的。 小明想了一个办法将这串字母表达得更短&#xff1a;将连续的几个相同字母写成字母 出现次数的形式。 例如&#xff0c;连续的 5 个 a&#xff0c;即…

golang 装饰器模式详解

前言 我一直以来对golang的装饰器模式情有独衷&#xff0c;不是因为它酷&#xff0c;而是它带给我了太多的好处。首先我不想说太多的概念&#xff0c;熟记这些概念对我的编程来说一点用处没有。我只知道它给我带来了好处&#xff0c;下面谈谈我的理解。 这种模式可以很轻松地…

centos升级g++.v6.1.0版本

1.下载源码包 wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.gz tar -zxvf gcc-6.1.0.tar.gz cd gcc-6.1.0 2.打开 download_prerequisites 脚本 vim contrib/download_prerequisites 可以看到该文件就是执行一些下载指令&#xff0c;需要下载几个包&#xff0c…

顺序表的列题(力扣)和旋转数组

文章目录 一.删除有序数组中的重复项&#xff08;取自力扣&#xff09; 二.合并两个有序数组&#xff08;取自力扣&#xff09; 三.旋转数组&#xff08;多解法&#xff09; 前言 见面我们说到了顺序表今天来分享几个有关于顺序表的题目 一.删除有序数组中的重复项&#xff…

数据结构2月21日

双向链表: func函数&#xff1a; #include <stdio.h> #include <stdlib.h> …

【Flink精讲】Flink性能调优:内存调优

内存调优 内存模型 JVM 特定内存 JVM 本身使用的内存&#xff0c;包含 JVM 的 metaspace 和 over-head 1&#xff09; JVM metaspace&#xff1a; JVM 元空间 taskmanager.memory.jvm-metaspace.size&#xff0c;默认 256mb 2&#xff09; JVM over-head 执行开销&#xff1…

【web】云导航项目部署及环境搭建(复杂)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、项目介绍1.1项目环境架构LNMP1.2项目代码说明 二、项目环境搭建2.1 Nginx安装2.2 php安装2.3 nginx配置和php配置2.3.1 修改nginx文件2.3.2 修改vim /etc/p…

LeetCode--134

134. 加油站 在一条环路上有 n 个加油站&#xff0c;其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车&#xff0c;从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发&#xff0c;开始时油箱为空。 给定两个整数数组 …

Camera metadata设计与应用

前言 Android的Camera Metadata是一种数据结构&#xff0c;用于表示图像特征的参数&#xff0c;例如常见的曝光、AE、AWB、flash等参数。在新的Camera API2 / HAL3架构中&#xff0c;这种结构被用来在app-hal之间IPC传输&#xff0c;取代了原先的SetParameter()/GetParameter(…

【蓝桥杯单片机入门记录】动态数码管

目录 一、数码管动态显示概述 二、动态数码管原理图 &#xff08;1&#xff09;原理图 &#xff08;2&#xff09;动态数码管如何与芯片相连 &#xff08;3&#xff09;“此器件” ——>锁存器74HC573 三、动态数码管显示例程 &#xff08;1&#xff09;例程1&#xf…

独立站谷歌SEO外包与自建SEO团队:哪个更适合您的业务?

随着数字营销的崛起&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已成为企业提升在线可见度、吸引潜在客户的关键手段。面对独立站谷歌SEO外包服务和自建SEO团队两种选择&#xff0c;企业往往会感到困惑。本文将深入探讨这两种方式的优势与局限&#xff0c;帮助您做出明…

CentOS 7.9上编译wireshark 3.6

工作环境是Centos 7.9&#xff0c;原本是通过flathub安装的wireshark&#xff0c;但是在gnome的application installer上升级到wireshark 4.2.3之后就运行不起来了&#xff0c;flatpak run org.wireshark.Wireshark启动提示缺少qt6&#xff0c;查了一下wireshark新版是依赖qt6的…