当前位置: 首页 > news >正文

认识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;

}

   

相关文章:

认识Sass

sass中文文档: Sass: Sass 文档 1. sass的安装步骤 1. 卸载冲突的Node.js (1) winR输入control,找到电脑上的卸载软件,找到Node.js,右键”卸载” (2) winR输入cmd,输入命令:node -v查看结果。 如果提示: node 不…...

YOLOv9-Openvino和ONNXRuntime推理【CPU】

1 环境: CPU:i5-12500 Python:3.8.18 2 安装Openvino和ONNXRuntime 2.1 Openvino简介 Openvino是由Intel开发的专门用于优化和部署人工智能推理的半开源的工具包,主要用于对深度推理做优化。 Openvino内部集成了Opencv、Tens…...

AIGC 架构:RAG (retrieval augumented generation) 应用可以使用 PostgreSQL 作为向量数据库组件吗?

是的,RAG(检索增强生成)应用程序可以绝对地使用 PostgreSQL 作为向量数据库!事实上,它是一个流行的选择,因为有以下几个优点: 使用 PostgreSQL 和 pgvector 的优点: 集成解决方案&…...

leetcode:134.加油站

解题思路:需要注意开始时的编号,有的可以走一圈,有的走不了 模拟过程:for循环主要是用来模拟线性的过程,而在这里它是环状的; 可以用暴力解法,但是在这里我用贪心来解决。 常见疑惑&#xff1…...

uniapp的微信小程序授权头像昵称(最新版)

前面我出过两期博客关于小程序授权登录,利用php实现一个简单的小程序授权登录并存储授权用户信息到数据库的完整流程。无奈,小程序官方又整幺蛾子了。wx.getUserInfo接口收回,wx.getUserProfile接口也不让用。导致我的个人小程序:梦缘 的授权…...

Spring Boot到底是如何进行自动配置的?

【1】从 spring.factories 配置文件中加载 EnableAutoConfiguration 自动配置类),获取的自动配 置类如图所示。 【2】若 EnableAutoConfiguration 等注解标有要 exclude 的自动配置类,那么再将这个自动配置类 排除掉; 【3】排除掉要 exclude …...

【王道数据结构】【chapter7查找】【P285t5】

线性表中各节点的检索概率不等时,可用如下策略提高顺序检索的效率;若找到指定的结点,则将该结点和其前驱结点(若存在)交换,使得经常被访问的结点尽量位于表的前端。试设计在顺序结构和链式结构的线性表盘上…...

个人玩航拍,如何申请无人机空域?

我们在《年会不能停》一文中,有分享我们在西岭雪山用无人机拍摄的照片和视频,有兴趣可以去回顾。 春节的时候,趁着回老家一趟,又将无人机带了回去,计划拍一下老家的风景。 原本以为穷乡僻壤的地方可以随便飞&#xf…...

ChatGPT带火的HBM是什么?

“ChatGPT是人工智能领域的iPhone时刻,也是计算领域有史以来最伟大的技术之一。” 英伟达创始人兼CEO黄仁勋此前这样盛赞ChatGPT。 ChatGPT突然爆火,对大算力芯片提出了更高更多的要求。近日,据韩国经济日报报道,受惠于ChatGPT&am…...

10 款数据恢复软件功能和有效性对比(2024 年更新)

数据丢失可能是一种痛苦的经历,无论是由于意外删除、硬件故障还是软件损坏。值得庆幸的是,数字时代带来了强大的数据恢复解决方案。 随着我们进入 2024 年,市场上充斥着旨在有效检索丢失数据的先进软件。在本文中,我们将探讨 2024…...

Python 与 pdfplumber:高效自动读取 PDF 的解决方案

在许多数据处理和信息提取任务中,处理 PDF 文件可能是一个具有挑战性的过程。幸运的是,Python 提供了许多库来简化这个任务,其中 pdfplumber 是一个功能强大且易于使用的库。在本文中,我们将探讨如何使用 Python 和 pdfplumber 库…...

Flutter 启动流程解析

任何应用程序都是从main()开始的,Flutter也不例外。Flutter 的启动入口在 lib/main.dart 里的 main() 函数中,代码如下。 void main() => runApp(MyApp());void runApp(Widget app) {final WidgetsBinding binding = WidgetsFlutterBinding.ensureInitialized();assert(b…...

全量知识系统问题及SmartChat给出的答复 之4

Q11. 现在,我们进一步完善前端--知识表征。首先前端需要基于一个全面的GUI库,和前面说到的 混沌工程:基于流形 的分形混沌 与自相似性的计算机图像与程序。请考虑 1)这两部分的实现用什么 ?2) 如何封装它们…...

Java架构师之路七、大数据:Hadoop、Spark、Hive、HBase、Kafka等

目录 Hadoop: Spark: Hive: HBase: Kafka: Java架构师之路六、高并发与性能优化:高并发编程、性能调优、线程池、NIO、Netty、高性能数据库等。-CSDN博客Java架构师之路八、安全技术:Web安…...

图论基础(一)

一、图论 图论是数学的一个分支,它以图为研究对象。图论中的图是若干给定的点(顶点)以及连接两点的线(边)构成的图像,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物&#xff0c…...

使用 React 和 MUI 创建多选 Checkbox 树组件

在本篇博客中,我们将使用 React 和 MUI(Material-UI)库来创建一个多选 Checkbox 树组件。该组件可以用于展示树形结构的数据,并允许用户选择多个节点。 前提 在开始之前,确保你已经安装了以下依赖: Reac…...

vue3里面使用el-image-vie出现图片预览导致页面卡顿停止加载问题

需求:我们在使用element-plus组件里面的图片预览时候,通过点击按钮来实现图片预览的效果。在开发过程中我们会遇到图片预览的时候出现卡顿出不来,导致当前的页面停止加载了。 具体思路如下: 我们需要添加:preview-teleported“t…...

Leetcoder Day26| 回溯part06:总结+三道hard题

332.重新安排行程 给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必…...

浅谈 Linux 网络编程 - 网络字节序

文章目录 前言核心知识关于 小端法关于 大端法网络字节序的转换 函数 前言 在进行 socket 网络编程时,会用到字节流的转换函数、例如 inet_pton、htons 等,那么为什么要用到这些函数呢,本篇主要就是对这部分进行介绍。 核心知识 重点需要记…...

Nginx网络服务六-----IP透传、调度算法和负载均衡

1.实现反向代理客户端 IP 透传 就是在日志里面加上一个变量 Module ngx_http_proxy_module [rootcentos8 ~]# cat /apps/nginx/conf/conf.d/pc.conf server { listen 80; server_name www.kgc.org; location / { index index.html index.php; root /data/nginx/html/p…...

EXE加密视频不能看?教你手动解除一机一码限制。

springboot自动配置 自动配置了大量组件,配置信息可以在application.properties文件中修改。 当添加了特定的Starter POM后,springboot会根据类路径上的jar包来自动配置bean(比如:springboot发现类路径上的MyBatis相关类&#xff…...

从习题到实战:云计算核心概念与技术架构深度解析

1. 云计算基础概念解析 云计算这个概念听起来高大上,但其实离我们日常生活很近。每次用手机备份照片到网盘,或者在线编辑文档,背后都是云计算在支撑。简单来说,云计算就是把计算资源变成像水电一样随取随用的公共服务。 IaaS/PaaS…...

Java的java.util.random高级控制

Java的java.util.Random高级控制:解锁随机数生成的奥秘 在编程中,随机数的生成是许多应用场景的核心需求,从游戏开发到密码学,再到模拟测试,Java的java.util.Random类提供了强大的随机数生成能力。仅仅使用nextInt()或…...

嵌入式秋招必备项目(一):简单介绍

前言如果你在学习完RTOS相关的知识后,为进一步的应用感到苦恼?或者简历上空空如也,感觉没项目可写?那你可算来对的,在这个仓库里的项目是我的简历上的一段项目经历,这段项目经历在秋招的时候还是很靠谱的(经历过华为、中兴、小米、大疆、小鹏等企业的拷打,而且对项…...

从调试到量产:高通QDCM与QDCM-FF工具链全解析,实现‘千屏一面’的屏幕一致性校准

从调试到量产:高通QDCM与QDCM-FF工具链全解析,实现‘千屏一面’的屏幕一致性校准 在智能手机和平板电脑的制造过程中,屏幕显示质量的一致性一直是困扰硬件工程师的难题。想象一下,当消费者购买同一型号的两台设备,却发…...

涨薪技术|Prometheus监控之核心组件简介

各位伙伴,大家好! Prometheus监控对于开发运维工程师来说并不陌生,但是对于测试工程师来说可能还是比较陌生吧!最近也很多小伙伴私信我问prometheus相关问题,所以接下来我会通过连载的方式分享一些关于prometheus如何使用的实践教程。 今天分享:Prometheus的六大核心组件…...

【2025企业级部署红线预警】:C# 14 原生 AOT 下 Dify 插件动态加载失效的4种静默崩溃场景及热修复补丁

第一章:C# 14 原生 AOT 部署 Dify 客户端插件下载与安装概览C# 14 引入了对原生 AOT(Ahead-of-Time)编译的深度集成支持,使 .NET 应用可直接编译为无运行时依赖的独立二进制文件。在部署 Dify 官方客户端插件(如用于本…...

Linux系统崩溃别慌!手把手教你用Timeshift在Deepin/UOS上快速恢复桌面(含命令行救急指南)

Linux系统崩溃急救手册:Timeshift在Deepin/UOS上的全场景恢复指南 那天下午,我正在赶一份重要文档,Deepin系统突然弹出一个更新提示。像往常一样点击"立即更新"后,屏幕却陷入了黑屏循环重启的噩梦。作为深度系统三年老用…...

Applera1n:iOS 15-16.6设备激活锁免费绕过完整指南

Applera1n:iOS 15-16.6设备激活锁免费绕过完整指南 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 如果你手头有一台带有激活锁的二手iPhone,看到那个熟悉的"Hello"界…...

【12.MyBatis源码剖析与架构实战】19.MyBatis分⻚插件设计与实战

MyBatis 分页插件设计与实战(完整实操案例) 分页查询是业务系统中最常见的需求之一。虽然可以手动在 SQL 后拼接 LIMIT 或 ROWNUM,但这样会侵入业务代码,且需要为每个查询编写重复的分页逻辑。通过 MyBatis 插件机制,我们可以实现一个透明物理分页插件:开发者只需在调用…...