在vscode中开发sass教程:sass语法

news2024/11/20 4:56:08
  • sass官网:Sass世界上最成熟、稳定和强大的CSS扩展语言 | Sass中文网
  • sass:世界上最成熟、最稳定、最强大的专业级css扩展语言!
  • sass是一个css的预编译工具,也就是能够更优雅的书写css;

1、sass使用说明:

基于vscode开发:

  • 如果要基于vscode开发,那就需要装一个小插件:Easy Sass;

  • 安装后重启vscode,才生效;

  • 准备就绪了,就在vscode里创建一个“.scss”文件,在scss文件里面写css代码;
  • sass有两种扩展语法:".sass"、".scss",但是".sass"要遵循严格的语法,写起来比较麻烦很容易出错,所以我们这个就只讲用".scss"的方法;

  • 写完css代码后保存,这个scss文件会自动生成两个css文件,一个是未压缩的css文件,另外一个是压缩的min的css文件;
  • 为什么要先创建scss文件,然后生成css文件呢;这是开发scss的一个流程,scss文件是给自己或者同事看的,而最终页面要引入编译好的css文件;
  • 在创建“.scss”文件时,可以选择把它放在一个单独的文件夹里创建,这样生成的css文件也会好找一点;

2、sass语法:

(注意:这个css文件内容不能为空,要是为空了,调试台就报错了,而且css里的内容还是呈现上一次的内容,不会因为你保存了,他就变了,他是不会让自己里面没内容的;)

(1)在sass中定义变量:

  • 用$符开头;
  • 这样写css代码,想要什么属性直接更改变量的值即可,很方便;
  • 看下面scss文件和css文件的区别;

  • scss文件和css文件的区别是:scss文件能够进行变量定义,但是在css中就不显示; 
  • 这些变量也可以进行加减乘除的运算:

(2)if...else...分支语句: 

  • 语法像下面这样:@if(判断条件){要执行的代码};

  • 这种条件判断语句一般是用在如果不需要这个css样式了,我们可以选择隐藏,防止代码量过于冗长;
  • 隐藏和显示的方法是:定义一个变量, 当条件判断“==”号后面的值跟这个变量后面的值一样时,就显示,当后面的值跟变量值不一样时隐藏;
  • 变量后面的值和if里面变量的值相等就能显示,并不是说非要是true或者false这样的值,也可以是“aaa”这样的值,只要变量的值是“aaa”,并且if里面变量的值也是“aaa”,那也可以显示;
  • 在sass中只有“==”两个等于号的写法,没有“===”;
  • 图示:

  • 还有就是@if...@else配合使用放在选择器里用,当满足if条件了,就运用if里面的css样式,不满足就运用else里的css样式:

  • 当变量isRed的值和if条件里的值相等时,就运用if里的css样式,否则就运用else里的css样式; 

(3)@for循环遍历:

  • from 1 to 4:从1到4不包括4;
  • from 1 through 4:从1到4包括4;
  • 在选择器中用变量,也就是引入参数,格式:“#{变量}”;
  • from 1 to 4:

注意:运算符号前后要留有空格,就像图中scss里的“-”,如果前后没有空格就会报错; 

  • from 1 through 4:

(4)@each循环遍历

  • 用@each,li:nth-child()里的参数不能用$item了,因为它是表示颜色的,所以我们要从新定义一个参数index,用index()方法来获取参数值;第一个参数表示总库,第二个参数表示总库中的一个,index方法会把第二个参数在第一个参数里的位置查出来; 

(5)混入:

当某些模块功能相同的时候,我们可以把这个功能封装成一个函数,然后不同标签在使用的时候去引入就可以了;

函数封装格式:@mixin 函数名 {}

函数引入:@include 函数名()

见代码:

函数也可以传参:

函数参数也可以设置默认值,当标签引入这个样式时,不传参的时候可以使用默认值;

 

(6)嵌套:

  • 子标签样式在父标签里面嵌套定义:

  • 子标签的样式在父标签的样式里定义可以直接实现父标签的样式定义和子标签的样式定义,不用想之前那样麻烦;

  • 亲孩子标签在父标签里定义:
  • 比如li里面还有ul li标签,我们只想给ul下面的亲孩子li标签增加样式,就可以用;
  • 如果还要给亲li标签加伪类选择器hover,怎么加呢,看下面;

  • 如果是亲孩子就用“>”符号,如果要使用伪类选择器,或者选择具有active属性的亲li标签,就可以使用“&”,“&”表示的就是li自己。 

(7)继承:

  • 子类继承父类样式;
  • 要定义好父类;
  • 继承格式:@extend 父类;

(8)导入:

  • 如果我们想导入别的scss文件到我们自己的scss文件,就可以用@import导入;
  • 就可以直接用那个scss文件里定义的变量或者其他的东西;

1.scss文件的样式:

  • 注意:只能导入同一目录下的scss文件; 

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

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

相关文章

【毕业设计】后端实现——账单通过关键词简单分析收支

🌈据说,看我文章时 关注、点赞、收藏 的 帅哥美女们 心情都会不自觉的好起来。 前言: 🧡作者简介:大家好我是 user_from_future ,意思是 “ 来自未来的用户 ” ,寓意着未来的自己一定很棒~ ✨个…

C++ STL中的set详解

前言 在学习csp题解的时候接触到这个数据结构&#xff0c;故在此记录一下其概念及应用。 基本概念 set的底层采用的是红黑树&#xff0c;所有元素都会根据元素的键值自动排序&#xff0c;方便管理元素&#xff0c;但不支持直接修改键值。 应用 头文件调用 #include <i…

python中is和==的区别,地址和重新复制后,地址变化

简单总结 现象描述&#xff1a;一、“编辑器“中和把赋值语句放在”同一行的cmd环境“中&#xff0c;相同值的不同变量会指向同一个地址 二、交互式/cmd环境中&#xff0c;若赋值相同值的变量在不同行输入&#xff0c;那么变量也会指向不同地址 三、程序编辑器的程序运行就相当…

B2B撮合管理系统优势有哪些?如何助力传统仪器仪表制造业企业数字化转型

仪器仪表制造业是我国制造业的重要组成部分&#xff0c;经过多年的快速发展&#xff0c;我国仪器仪表制造业生产和开发能力产业体系日趋庞大&#xff0c;产销增幅也是高歌猛进&#xff0c;对推动国民经济发展具有重要意义。 然而&#xff0c;随着我国仪器仪表制造业的发展&…

GAN模型1

本次是用GAN模型弄出时光机效果~ 穿越时空的人脸 得到你100年前的样子~~ 时光穿梭第一步&#xff1a;解决数据集难题 鉴于最近StyleGAN在高质量人脸合成和编辑方面的成功&#xff0c;许多工作都集中在使用预先训练好的StyleGAN模型进行人像编辑。 然而&#xff0c;现有的技术…

[附源码]计算机毕业设计JAVA儿童资源教育网站

[附源码]计算机毕业设计JAVA儿童资源教育网站 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybati…

聚观365|抖音上线“防打扰保护工具”;亚马逊拟计划裁员1万人

今日要闻&#xff1a;抖音上线“防打扰保护工具”&#xff1b;亚马逊拟计划裁员1万人&#xff1b;苹果为iPhone14提供同机维修&#xff1b;美国硅谷裁员潮蔓延&#xff1b;乔布斯拖鞋拍卖融入NTF元素 抖音上线“防打扰保护工具” 11月15日&#xff0c;抖音上线“防打扰保护工具…

【数据结构与算法】第一章 绪论 2-数据结构的基本概念

第一章 绪论 2-数据结构的基本概念 思考&#xff1f; 程序 算法数据结构&#xff0c;算法 逻辑控制数据结构有两大用途&#xff1a; 一是用于存放要处理的数据&#xff0c;如迷宫地图二是用于实现算法策略&#xff0c;如迷宫例子中探索方向增量数组&#xff0c;回溯的栈&am…

如何深度自定义mybatis

回顾mybatis的操作的核心步骤 编写核心类SqlSessionFacotryBuild进行解析配置文件 深度分析解析SqlSessionFacotryBuild干的核心工作 编写核心类SqlSessionFacotry 深度分析解析SqlSessionFacotry干的核心工作 编写核心类SqlSession 深度分析解析SqlSession干的核心工作 …

物联网电池产品硬件电路设计思维

最近在整改之前工程师设计的电路板&#xff0c;是采用18650电池供电的一个物联网小板。 像这种电池供电的产品&#xff0c;很重要的一点就是要保证其低功耗&#xff0c;才得以提高续航&#xff0c;因此&#xff0c;对于这类电路板的对外接口的设计&#xff0c;对供电的控制尤其…

Arch Linux 的安装

Arch Linux 的安装 作者&#xff1a;Grey 原文地址&#xff1a; 博客园&#xff1a;Arch Linux 的安装 CSDN&#xff1a;Arch Linux 的安装 版本 Arch Linux&#xff1a;2022.07.01 VMware workstation&#xff1a; 16.2 安装步骤 下载 Arch Linux 并记录其 kernel 版…

【考研英语语法】口语语法

区别一&#xff1a;句子结构 口语中结构更为简单&#xff0c;较少使用从句 只有少量高频连词&#xff08;and / but / or / so / because / if / when&#xff09;正式&#xff1a; While the region was remarkable for its natural beauty, the family experienced seriousl…

法国博士后招聘|国家健康与医学研究院(INSERM)-计算化学

【国外博士后招聘-知识人网】法国国家健康与医学研究院&#xff08;INSERM&#xff09;计算化学博士后 法国国家健康与医学研究院&#xff08;法文为&#xff1a;Institut national de la sant et de la recherche mdicale&#xff09;&#xff0c;简称“Inserm”&#xff0c;成…

软件测试有哪些原则?

软件产品从开发到发布的过程中有一道至关重要的程序—软件测试&#xff0c;也就是验证软件系统的正确性、完整性、安全性和质量的过程。在规定的条件下对程序进行操作&#xff0c;以发现程序错误&#xff0c;衡量软件质量&#xff0c;并对其是否能满足设计要求进行评估的过程。…

股票如何量化选股?

量化选股是通过数量分析的方法去评价某一上市公司的发展前景&#xff0c;以及它的股票是否值得买入&#xff0c;一般采用多因子选股策略&#xff1a;假设有多种因子共同对股票资产收益产生了作用&#xff0c;且这些作用满足线性关系&#xff0c;那么我们就可以通过计算因子的值…

【pymysql的基本使用】

0. 介绍 本文主要介绍如何使用pymysql库来操作mysql数据库&#xff0c;包含docker安装MySQL和对Mysql的各种操作。 参考链接&#xff1a; Welcome to PyMySQL’s documentation! — PyMySQL 0.7.2 documentation Python3 MySQL 数据库连接 – PyMySQL 驱动 | 菜鸟教程 Pyt…

聚焦“生态化”,e签宝讲好电子签名的“中国故事”

文丨智能相对论 作者丨沈浪 电子签名&#xff0c;终于在政企数字化转型的浪潮里得到了认可&#xff0c;正在快速破圈&#xff0c;从过去名不见经传的小赛道成长为了今天的数字化基建工程。 在今年的“科技向实&#xff0c;万物生长“钉钉2022发布会上&#xff0c;e签宝再度亮…

ADC噪声系数 —— 一个经常被误解的参数

噪声系数(NF)是RF系统设计师常用的一个参数&#xff0c;它用于表征RF放大器、混频器等器件的噪声&#xff0c;并且被广泛用作无线电接收机设计的一个工具。许多优秀的通信和接收机设计教材都对噪声系数进行了详细的说明(例如参考文献1)&#xff0c;本文重点讨论该参数在数据转换…

MySQL-事务隔离机制的实现

目录一、MySQL事务1、什么是事务2、事务的四个特性3、MySQL事务使用1、显式启动事务语句2、关闭事务自动提交二、MySQL事务隔离机制1、四种隔离级别2、并发事务引起的问题3、隔离级别问题1 、查看mysql事务隔离级别2、脏读问题3、不可重复读一、MySQL事务 1、什么是事务 事务…

通过股票数据接口如何看懂Level-2行情?

交易用户在进行投资的时候&#xff0c;通过股票数据接口来实现自己的盈利目标&#xff0c;今天来聊聊如何看懂Level-2行情&#xff1f; 在交易开盘之后某股快速杀跌&#xff0c;但杀跌后盘面缺不跌反涨&#xff0c;甚至一度差点翻红&#xff0c;如果是五档行情&#xff0c;我们…