SASS和LESS
SASScss 的预编译语言,用来书写 css 的工具 有两种文件都是用来书写 sass 内容的1. .sass 后缀的文件2. .scss 后缀的文件 以上两种方式, 在语法和编译上没有区别 唯一的区别是, {} 和 分号(;) .sass 文件不允许出现 {} 和 ; .scss 文件必须要写 {} 和 ;sass 需要编译后使用 因为浏览器不认识 .sass 或者 .scss 文件 需要把 .sass 和 .scss 文件编译成 .css 文件再次使用 常见的编译方式1. 使用编辑器插件 vscode 里面有一个叫做 easysass 的插件 你只要安装了这个插件, 你写完的 .sass 和 .scss 文件会自动编译成 .css 文件 缺点: 依赖编辑器2. 使用一个叫做 sass 的全局系统工具来完成 可以进行编译, 需要你在命令行通过指令的形式 进行文件的编译3. 打包工具 在项目打包的时候, 可以使用打包功能内的某些功能来编译 sass 文件 打包工具, 不是专门用来编译 sass 文件的 只是对当前项目进行打包的时候, 可以一起编译打包 sass 文件sass 工具 依赖环境 最早依赖 ruby 环境 后来依赖 python 环境 现在依赖 node 环境 下载: 因为是一个依赖 node 环境的工具 因为是一个全局工具 使用 npm 下载 打开命令行, 目录无所谓 输入指令:- win: $ npm install --global sass- OS: $ sudo npm install --global sass 检测: 打开命令行, 目录无所谓 输入指令: $ sass --version 卸载: 打开命令行, 目录无所谓 输入指令:- win: $ npm uninstall --global sass- OS: $ sudo npm uninstall --global sasssass 的编译 利用我们下载好的全局 sass 工具来编译 .sass 和 .scss 文件 sass 编译工具在编译之后会给出一个 map 文件 作用是映射内容到 sass 文件内1. 单文件编译 打开命令行, 目录切换到你要编译的 sass 文件的目录 输入指令: $ sass 源文件名称 生成的文件名称 缺点: 每次修改都需要重新编译2. 单文件实时编译 打开命令行, 目录切换到你要编译的 sass 文件的目录 输入指令: $ sass --watch 源文件名称:生成的文件名称 缺点: 一个命令行只能监控一个文件实时编译3. 文件夹实时编译 打开命令行, 目录切换到你要编译的 sass 文件夹所在的目录 输入指令: $ sass --watch 源文件夹名称:生成的文件夹名称sass 的变量 在 sass 内是可以定义变量的 定义和使用 变量的定义 语法: $名字: 值; 注意: - $ 是名字的一部分 - 没有等于号, 而是 冒号(:) - 值不管是什么, 不需要引号 定义的变量是不会被解析出来的 - 只有你使用这个变量的时候 - 会直接把值解析出来 变量的使用 使用在值的位置 - 直接使用就可以了 - 记得 $ 是名字的一部分 使用在选择器的位置 - 不能直接使用 - 需要使用变量, 需要写 #{ 变量 } */ // 定义变量 $bg_color: skyblue; $b: 1px solid #333; $n: 10; // 在值的位置使用变量 div { background-color: $bg_color; } p { color: $bg_color; } h1 { border: 1px solid $bg_color; } h2 { border: $b; } // 在选择器的位置使用变量 li:nth-child(#{$n}) { color: red; } .box.#{ $bg_color } { font-size: 10px; }sass 的循环 1. for 循环 语法: for 变量 from 开始数字 to 结束数字 { 内容 } 变量就表示 从 开始数字 到 结束数字 的每一个内容 注意: 包含开始数字, 不包含结束数字 2. for 循环 语法: for 变量 from 开始数字 through 结束数字 { 内容 } 变量就表示 从 开始数字 到 结束数字 的每一个内容 注意: 包含开始数字, 也包含结束数字 3. each 循环 如何定义一个数组 语法: $arr: 值1, 值2, 值3, ... 语法: each 变量 in 数组 {} 变量就表示数组中的每一个值 */ // 1. for to 循环 // for $n from 1 to 5 { // // 在这个循环内, $n 就分别是 1 2 3 4 // li:nth-child(#{ $n }) { // width: 100px; // left: $n * 100px; // } // .box#{ $n } { // width: 100px; // } // } // for $n from 1 to 5{ // li:nth-child(#{$n}){ // width: 100px; // left: $n *100px; // } // } // 2. for through 循环 // for $n from 1 through 5 { // // 在这个循环内, $n 就分别是 1 2 3 4 5 // li:nth-child(#{ $n }) { // left: $n * 100px; // top: $n * 100px; // } // } // 3. each 循环 // 3-1. 定义一个数组 $colorArr: red, skyblue, orange, green, yellow; // 3-2. 循环 $colorArr 这个数组 each $item in $colorArr { // 配套语法: // index(数组, 项) // 返回值: 项在该数组中的索引位置 $index: index($colorArr, $item); // $index 拿到的值分别是 1 2 3 4 5 li:nth-child(#{ $index }) { background-color: $item; } }sass 的嵌套,可以把 css 写的像 html 一样有层级结构 div.banner { width: 300px; height: 300px; p { width: 200px; height: 200px; span { width: 100px; height: 100px; display: block; a { font-size: 20px; color: red; } } } }/* sass 的混入 也叫作混合器, 也叫作 函数 定义混合器 和 使用混合器 */ /* 1. 基本混合器 定义: mixin 混合器名称 { 混合器样式 } 使用: include 混合器名称; 缺点: 不够灵活, 定义都是准确的几个属性 */ // 1. 定义基本混合器 // mixin trans { // -webkit-transition: all 1s 0s linear; // -moz-transition: all 1s 0s linear; // -ms-transition: all 1s 0s linear; // -o-transition: all 1s 0s linear; // transition: all 1s 0s linear; // } // mixin flex { // display: flex; // justify-content: center; // align-items: center; // } // 基本混合器的使用 // div { // width: 100px; // height: 100px; // include flex; // :hover { // width: 200px; // height: 200px; // include trans; // } // } // h1 { // color: red; // :hover { // color: skyblue; // include trans; // } // } /* 2. 带有参数的混合器 定义: mixin 混合器名称(参数1, 参数2, ...) {} 使用: include 混合器名称(值1, 值2, ...) 注意: 你写了多少个形参, 就得写多少个实参 缺点: 必须每一个参数都传递 */ // 2. 才有参数的混合器定义 // mixin trans($p, $t, $d, $tf) { // -webkit-transition: $p $t $d $tf; // -moz-transition: $p $t $d $tf; // -ms-transition: $p $t $d $tf; // -o-transition: $p $t $d $tf; // transition: $p $t $d $tf; // } // // 使用混合器 // div { // width: 100px; // height: 100px; // include trans(all, 1s, 0s, linear); // } // h1 { // width: 200px; // height: 200px; // include trans(width, 2s, 1s, ease-in); // } /* 3. 带有形参默认值的混合器 定义: mixin 混合器名称(形参1: 默认值, 形参2: 默认值, ...) {} 使用: include 混合器名称(实参1, 实参2); - 可以不全部填写, 没有写的会有默认值使用 include 混合器名称(形参1: 值); - 指定给某一个形参赋值, 剩下的使用默认值 */ // 3. 定义带有参数默认值的混合器 mixin trans($p: all, $t: 1s, $d: 0s, $tf: linear) { -webkit-transition: $p $t $d $tf; -moz-transition: $p $t $d $tf; -ms-transition: $p $t $d $tf; -o-transition: $p $t $d $tf; transition: $p $t $d $tf; } // 使用带有参数默认值的混合器 div { width: 100px; height: 100px; include trans(); } h1 { include trans(width); } h2 { include trans(width, 2s); } h3 { include trans(width, 2s, 1s); } h4 { include trans(width, 2s, 1s, ease-in-out); } h5 { // 表示使用 trans 混合器 // 只是单独给 $tf 变量赋值为 ease-in // 其他参数都使用默认值 include trans($tf: ease-in); }sass 的继承,让一个规则集使用另一个规则集的样式内容,语法: extend 选择器; div { width: 10px; height: 10px; margin: 10px; padding: 10px; border: 10px solid #333; background-color: skyblue; color: red; font-size: 10px; line-height: 10px; font-weight: 700; } p { // 当你希望使用和 div 内一样的样式的时候 // 直接继承 div 的内容 extend div; width: 200px; margin: 30px; transition: all 1s 2s linear; } h1 { extend p; margin: 20px; }sass 的导入, import 地址;import ./mixin.scss;LessLESS 是一种动态样式表语言扩展了 CSS层叠样式表的功能使得样式表的编写更加灵活和高效。LESS 提供了变量、嵌套、运算、混合Mixins等功能帮助开发者更好地组织和管理 CSS 代码1.变量LESS 允许使用变量来存储样式值如颜色、字体大小等使得样式的管理更加方便和一致。primary-color: #4D926F; .header { color: primary-color; }2.嵌套LESS 支持嵌套规则允许在选择器内嵌套子选择器反映 HTML 结构的层次关系。.nav { ul { margin: 0; padding: 0; } li { display: inline-block; } }3.混合MixinsLESS 提供了混合功能可以将一组样式定义为一个可重用的代码块并在需要时引入。.border-radius(radius) { border-radius: radius; -webkit-border-radius: radius; -moz-border-radius: radius; } .box { .border-radius(10px); }4.运算LESS 支持在样式中进行数学运算方便进行尺寸和颜色的计算。base: 5%; width: 500px; color: #888; .container { width: width * 2; color: color * 2; }5.函数LESS 提供了一些内置的函数用于颜色操作、字符串处理等。.box { color: lighten(primary-color, 20%); }LESS 代码需要编译为标准的 CSS 才能在网页中使用。可以通过安装 LESS 编译器来完成这一过程,使用 npm 安装 LESS 编译器npm install -g less编译 LESS 文件,将 LESS 文件编译为 CSS 文件lessc styles.less styles.css集成到项目中:可通过构建工具自动编译 LESS 文件简化开发流程。

相关新闻

限时公开!我压箱底的AI学习工具组合拳(含自动代码纠错+论文精读+面试模拟闭环链路)

限时公开!我压箱底的AI学习工具组合拳(含自动代码纠错+论文精读+面试模拟闭环链路)

更多请点击: https://kaifayun.com 第一章:限时公开!我压箱底的AI学习工具组合拳(含自动代码纠错论文精读面试模拟闭环链路) 这套组合拳不是简单堆砌工具,而是围绕“输入—理解—输出—反馈”构建的闭环学…

2026/8/4 20:12:03 阅读更多 →
时间序列预测实战(十八)利用Prophet实现长期预测(附代码+数据集+详细讲解)

时间序列预测实战(十八)利用Prophet实现长期预测(附代码+数据集+详细讲解)

一、本文介绍 Prophet是一个用于时间序列预测的经单模型。这个工具特别适合于具有强季节性影响和多个历史数据季节的业务时间序列数据。Prophet的主要思想是将数据分解为如下三个部分:趋势、季节性、节假日和特殊事件。这个模型非常适合于处理具有强烈季节性和趋势…

2026/8/4 20:12:03 阅读更多 →
【ICLR 2023】时间序列预测实战Crossformer(附代码+数据集+详细讲解)

【ICLR 2023】时间序列预测实战Crossformer(附代码+数据集+详细讲解)

论文地址:官方论文地址 代码地址:官方代码地址 一、本文介绍 本篇文章给大家带来的实战讲解是Crossformer模型,其是一个针对多变量时间序列预测的新型深度学习模型,发表ICLR 2023上并且排名前5%,所以这个模型的质量还…

2026/8/4 20:12:03 阅读更多 →

最新新闻

小红书无水印下载器XHS-Downloader:从新手到专家的全场景实战指南

小红书无水印下载器XHS-Downloader:从新手到专家的全场景实战指南

小红书无水印下载器XHS-Downloader:从新手到专家的全场景实战指南 【免费下载链接】XHS-Downloader 小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用…

2026/8/4 20:52:20 阅读更多 →
绿色工厂能耗台账系统怎么落地?申报机构与工厂分工协作全流程|复评不断档实操指南

绿色工厂能耗台账系统怎么落地?申报机构与工厂分工协作全流程|复评不断档实操指南

青岛智碳未来 智碳能碳管理平台实践观察 摘要:绿色工厂能耗台账系统选得好不好,直接决定申报材料有没有"底账"可查。给申报机构与 B 端工厂的结论是:把台账当成日常管理工具而不是申报季临时文件夹,机构负责标准与辅导…

2026/8/4 20:52:20 阅读更多 →
【限时解密】AI口语进步停滞期突破指南:MIT语音实验室未公开的3.7秒响应延迟优化方案

【限时解密】AI口语进步停滞期突破指南:MIT语音实验室未公开的3.7秒响应延迟优化方案

更多请点击: https://kaifayun.com 第一章:AI口语进步停滞期的本质认知与信号识别 AI口语能力在训练中期常出现看似“平台期”的现象,但这并非能力增长的终结,而是模型语言表征、语音对齐与反馈闭环进入深度重构阶段的自然表现。…

2026/8/4 20:52:20 阅读更多 →
终极指南:如何快速免费将QQ音乐qmcflac格式转换为通用mp3文件

终极指南:如何快速免费将QQ音乐qmcflac格式转换为通用mp3文件

终极指南:如何快速免费将QQ音乐qmcflac格式转换为通用mp3文件 【免费下载链接】qmcflac2mp3 直接将qmcflac文件转换成mp3文件,突破QQ音乐的格式限制 项目地址: https://gitcode.com/gh_mirrors/qm/qmcflac2mp3 你是否曾经从QQ音乐下载了喜欢的歌曲…

2026/8/4 20:52:20 阅读更多 →
【74LS138D+08+86组成高电平显示H、低电平显示L、悬空显示O】2025-6-11

【74LS138D+08+86组成高电平显示H、低电平显示L、悬空显示O】2025-6-11

缘由简易逻辑笔怎么加悬空显示0的功能?_嵌入式-CSDN问答 看电路图用简单逻辑无法实现,看引脚接法就不是原顺序不能显示0,假设三极管集电极有3种状态0、1、中点电压,也要通过比较电路实现3个信号再给组合逻辑去处理,所以…

2026/8/4 20:52:20 阅读更多 →
AMD显卡AI创作的终极解决方案:ComfyUI-Zluda深度解析与实践指南

AMD显卡AI创作的终极解决方案:ComfyUI-Zluda深度解析与实践指南

AMD显卡AI创作的终极解决方案:ComfyUI-Zluda深度解析与实践指南 【免费下载链接】ComfyUI-Zluda The most powerful and modular stable diffusion GUI, api and backend with a graph/nodes interface. Now ZLUDA enhanced for better AMD GPU performance. 项目…

2026/8/4 20:51:19 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →