如何使用sass?

什么是Sass,如何使用 Sass(Syntactically Awesome Style Sheets)是一种扩展了 CSS 的样式表语言,旨在使 CSS 更加易于维护、可读和可扩展。Sass 添加了一些功能,使得样式表开发过程更加高效和灵活。本文将深入探讨 Sass 的概念、特性、安装与配置、基本语法、使用技巧以及最佳实践。 阅读详情

这里是修真院前端小课堂,每篇分享文从

八个方面深度解析前端知识/技能,本篇分享的是:

【如何使用sass? 】

一、背景介绍

CSS预处理器
要了解sass先看一下CSS 预处理器

CSS 预处理器 定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。

俗的说,“CSS 预处理器用一种专门的编程语言,进行 Web 页面样式设计,然后再编译成正常的 CSS 文件,以供项目使用。CSS 预处理器为 CSS 增加一些编程的特性,无需考虑浏览器的兼容性问题”,可以让你的 CSS 更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸多好处。

二、知识剖析

CSS预处理器
要了解sass先看一下CSS 预处理器

CSS 预处理器 定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。

俗的说,“CSS 预处理器用一种专门的编程语言,进行 Web 页面样式设计,然后再编译成正常的 CSS 文件,以供项目使用。CSS 预处理器为 CSS 增加一些编程的特性,无需考虑浏览器的兼容性问题”,可以让你的 CSS 更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸多好处。

二、知识剖析
什么是SASS
Sass 是一门高于 CSS 的元语言,它能用来清晰地、结构化地描述文件样式,有着比普通 CSS 更加强大的功能。

Sass 能够提供更简洁、更优雅的语法,同时提供多种功能来创建可维护和管理的样式表。

Sass 是最早的 CSS 预处理语言,有比 LESS 更为强大的功能

Sass 是采用 Ruby 语言编写的一款 CSS 预处理语言,它诞生于2007年,是最大的成熟的 CSS 预处理语言。

SASS的安装
sass基于Ruby语言开发而成,因此安装sass前需要安装Ruby。

点击下载

SASS的使用
SASS文件就是普通的文本文件,里面可以直接使用CSS语法。文件后缀名是.scss

SASS提供四个编译风格的选项

NESTED是 SASS 默认的输出格式,能够清晰反映 CSS 与 HTML 的结构关系。选择器与属性等单独占用一行,缩进量与 SASS 文件中一致,每行的缩进量反映了其在嵌套规则内的层数。

COMPACT 输出方式比起上面两种占用的空间更少,每条 CSS 规则只占一行,包含其下的所有属性。嵌套过的选择器在输出时没有空行,不嵌套的选择器会输出空白行作为分隔符。

COMPRESSED 输出方式删除所有无意义的空格、空白行、以及注释,力求将文件体积压缩到最小,同时也会做出其他调整,比如会自动替换占用空间最小的颜色表达方式。

EXPANDED 输出更像是手写的样式,选择器、属性等各占用一行,属性根据选择器缩进,而选择器不做任何缩进。

SASS的变量
SASS的变量使用$开头,可以把反复使用的css属性值 定义成变量,然后通过变量名来引用它们,而无需重复书写这一属性值

SASS的嵌套
在sass中属性和选择器嵌套是非常伟大的特性,因为它们不仅大大减少了你的编写量,而且通过视觉上的缩进使你编写的样式结构更加清晰,更易于阅读和开发。

SASS的注释
SASS共有两种注释风格。

标准的CSS注释 /* 注释 */ ,该会保留到编译后的文件。

单行注释 // 注释 ,只保留在SASS源文件中,编译后被省略。

SASS混合器
混合器使用@mixin标识符定义。

这个标识符给一大段样式赋予一个名字,这样你就可以轻易地通过引用这个名字重用这段样式

然后可以通过@include来使用这个混合器,放在你希望的任何地方。调用的混合器会把所有样式提取出来放在被调用的地方

混合器并不一定总得生成相同的样式。可以通过在混合器时给混合器传参,来定制混合器生成的精确样式。

SASS的继承
SASS允许一个选择器,继承另一个选择器。

sass的继承用@extend

SASS的占位符
占位符 用%开头

占位符也是一个非常强大的功能,和继承也有着密切的关系。比如说,我们有多个类都有相同的代码共有,需要继承同一个基类。但是基类本身并不存在或者基类自身并不需要这些样式,像继承的写法有产生了代码的冗余,最终会编译出多余的代码。

用占位符声明的代码,在不被@extend调用的情况下,是不会产生任何代码的

三、常见问题
混合器和继承,占位符之间的区别

四、解决方案

五、编码实战

六、拓展思考
何时使用混合器
利用混合器,可以很容易地在样式表的不同地方共享样式。如果你发现自己在不停地重复一段样式,那就应该把这段样式构造成优良的混合器,尤其是这段样式本身就是一个逻辑单元,比如说是一组放在一起有意义的属性。

判断一组属性是否应该组合成一个混合器,一条经验法则就是你能否为这个混合器想出一个好的名字。如果你能找到一个很好的短名字来描述这些属性修饰的样式,那么往往能够构造一个合适的混合器。如果你找不到,这时候构造一个混合器可能并不合适。

何时使用继承
继承是基于类选择器的(有时是基于其他类型的选择器),所以继承应该是建立在语义化的关系上。

如果a的样式和b的样式相同,那么就可以使用继承,让a继承b的属性,或者让b继承a的属性

何时使用占位符
占位符和继承基本一样,唯一不同的就是相同的代码并没有在基类中存在,而是额外的声明,如果不被调用就不会产生任何样式,如果在不同的选择器调用占位符,那么编译出来的css代码将会把相同的代码合并在一起

七、参考文献
sass中文手册

SASS用法指南

八、更多讨论
1.sass和预处理器有什么关系?

答:CSS 预处理器用一种专门的编程语言,进行 Web 页面样式设计,然后再编译成正常的 CSS 文件,以供项目使用。

而Sass 是最早的 CSS 预处理语言。

2、sass和Ruby有什么关系?

答:sass基于Ruby语言开发而成,因此安装sass前需要安装Ruby。

3、混合器和继承,占位符有什么区别?

答:混合器,可以很容易地在样式表的不同地方共享样式。如果你发现自己在不停地重复一段样式,那就应该把这段样式构造成 优良的混合器,尤其是这段样式本身就是一个逻辑单元,比如说是一组放在一起有意义的属性。

   继承是基于类选择器的(有时是基于其他类型的选择器),所以继承应该是建立在语义化的关系上。

  如果a的样式和b的样式相同,那么就可以使用继承,让a继承b的属性,或者让b继承a的属性

  占位符和继承基本一样,唯一不同的就是相同的代码并没有在基类中存在,而是额外的声明,如果不被调用就不会产生任何        样式,如果在不同的选择器调用占位符,那么编译出来的css代码将会把相同的代码合并在一起
一文讲述SASS简介和使用方法 var 表示变量,start表示开始值,end表示结束值,两种形式的区别在于 through 包括 end 的值,to 不包括 end 值。sass使用@mixin声明混合,可以传递参数,参数名义$符号开始,多个参数以逗号分开,如果参数有多组值,那么在变量后面加三个点表示,如: $var...default即可, 默认变量一般用来设置默认值,当该变量出现另外一个值时,无论定义先后,都会使用另外一个值,覆盖默认值。在标准注释 /*后面加入一个感叹号,表示重要注释,压缩模式也会保留注释,用于版权声明等。 阅读详情

相关推荐

SASS的概念和使用

sass的概念、sass的特点、使用方法、变量声明、嵌套、@import 、@mixin 、 继承等

m0_57310897的博客 4423

SASS教程

SASS教程

fvllen的博客 679

Sass使用(详细步骤)

sass的基本使用过程

weixin_46368797的博客 2182

Sass实战运用,如何利用好Sass

Sass(Syntactically Awesome Stylesheets)是一种CSS预处理器,它提供了许多强大的功能,如变量、嵌套规则、混合(Mixins)、函数等,使得CSS的编写更加高效、灵活和易于维护。武汉优联前端科技有限公司由一批从事前端10余年的专业人才创办,是一家致力于H5前端技术研究的科技创新型公司,为合作伙伴提供专业高效的前端解决方案,合作伙伴遍布中国及东南亚地区,行业涵盖广告,教育, 医疗,餐饮等。,这是Sass的一种约定,表示该文件是一个部分文件,不应直接编译为CSS文件。

ufrontend的博客 1361

vue3+vite中引入sass,使用sass变量

然后我们就可以在其他文件中直接使用变量。并且variable.scss中书写的样式可以全局使用并且生效的。如果我们不使用vite配置文件这种方式,可以单独引入然后使用变量。文件,使用:export{}语法用来导出变量。我试过了直接main.ts中引入变量文件,变量无法使用。我们可以单独新建一个存放变量的sass文件。指定使用 sass API。然后我们在vue文件中使用。可以在vite中添加配置项。在vite中,我们可以在。文件的css选项中配置。文件的顶部先引入变量文件。然后就可以正常使用了。

qq_46102720的博客 7718

vue项目使用Sass

Sass (英文全称:Syntactically Awesome Stylesheets) 是一个最初由 Hampton Catlin 设计并由 Natalie Weizenbaum 开发的层叠样式表语言。 安装 npm install --save-dev sass-loader //sass-loader依赖于node-sass npm install --save-dev node-sass 在build文件夹下的webpack.base.conf.js的rules里面添加配置 // 如果你是..

风吹年年的博客 3396

vue使用sass以及如何选择版本

vue使用sass以及如何选择版本 在vue项目开发过程中,难免要使用到像sass或less这样对于css的脚本语言 但是对于新手来说,如何使用却犯了难题,安装各种后各种报错等… 接下来帮你缕清思路 前言:vue中欲想使用sass,需要依托于node-sass运行,也就是说sass不能在vue中直接使用,需要借助node-sass来运行(tips:node-sass的运行环境是node),所以说需要下载sass-loader和node-sass两个包 npm install --save-dev sas

weixin_43193877的博客 1万+

Sass Mode 使用教程

Sass Mode 使用教程 1. 项目介绍 Sass Mode 是一个为 Coda 1 和 SubEthaEdit 设计的 Sass (SCSS) 语法高亮插件。该项目由 Brajeshwar 开发,旨在为开发者提供更好的 Sass 文件编辑体验。Sass Mode 支持 .scss 文件的语法高亮,使得编写和阅读 Sass 代码更加直观和高效。 2. 项目快速启动 安装步骤 克隆项目: 打...

gitblog_00004的博客 385

使用gulp实时编译sass/sass

背景 在我们新开始的项目中,我们打算使用scss来作为我们的样式书写语言。同时,所有的sass/scss文件经过编译转化成css文件后要存放到跟scss/sass文件相同的目录下。整个前端团队已经有实时的代码编译构建工具,那么我们只需要书写自己的实时scss/sass构建工具,生成对应的css文件后,团队的实时构建工具也会触发编译,做打包构建处理。 第三方包选型 基于gulp的sass/sc

fendouzhe123的专栏 1万+

Brackets-Sass 插件使用教程

Brackets-Sass 插件使用教程 1、项目介绍 Brackets-Sass 是一个用于 Brackets 文本编辑器的插件,旨在帮助开发者更方便地编写和预览 Sass 文件。该插件允许用户在 Brackets 中实时预览和编译 Sass 文件,从而提高开发效率。Brackets-Sass 支持多种 Sass 编译选项,如输出目录、源码注释和输出样式等。 2、项目快速启动 安装 Bracke...

gitblog_00941的博客 1069

使用sass_Sass的简单使用

学过CSS的人都知道,它不是一种编程语言。你可以用它开发网页样式,但是没法用它编程。也就是说,CSS基本上是设计师的工具,不是程序员的工具。在程序员眼里,CSS是一件很麻烦的东西。它没有变量,也没有条件语句,只是一行行单纯的描述,写起来相当费事。很自然地,有人就开始为CSS加入编程元素,这被叫做"CSS预处理器"(css preprocessor)。它的基本思想是,用一种专门的编程语言,进行网页样...

weixin_28932365的博客 311

使用sass_Sass教程二:Sass的安装

前面已经提到了,Sass是用Ruby语言开发的,所以在安装Sass之前,需要先安装Ruby这里要注意几点:Mac系统是自带Ruby的,所以就不需要再次安装啦,所以下面安装Ruby的方法也只适用于Windows系统。一些基于插件的编辑器,比如vsCode,Atom之类的,不需要安装sass,直接安装插件就可以进行编译。Windows下安装Sass首先需要安装Ruby, 先从官网下载Ruby并安装。安...

weixin_30449853的博客 162

Sass使用

Sass是一种CSS预处理器,提供变量、嵌套规则、混合(mixins)、函数等功能,使CSS更具可维护性。本文介绍了Sass的基本用法:1)安装方式;2)变量定义和使用($符号);3)变量作用域和!global全局声明;4)嵌套规则简化代码结构;5)@import导入其他文件;6)@mixin定义可重用样式块,@include调用;7)@extend实现样式继承;8)在Vue中的使用方法,包括单文件组件中的lang="scss"和全局配置。Sass使CSS开发更高效,支持参数传递、默认值

希望粉丝数量比文章多!!! 719

react项目中使用 Sass 或者 Less

注意:1. 使用脚手架create-react-app 创建的 react项目,默认使用了webpack ==>> 请注意webpack的版本 2.create-react-app 创建的 react项目,webpack配置默认是隐藏的,如果需要查看或者修改,请使用npm run eject 命令, 3. 如果webpack是4.x...

halo1416的博客 4447

Skeleton Sass 使用教程

Skeleton Sass 使用教程 项目介绍 Skeleton Sass 是一个基于 Sass 的响应式 CSS 框架,它是 Dave Gamache 的 Skeleton CSS 框架的 Sass 版本。Skeleton Sass 提供了一套简洁的样式和布局工具,帮助开发者快速构建移动友好的响应式网站。该项目在 GitHub 上开源,地址为:atomicpages/skeleton-sass。...

gitblog_00183的博客 764

Sass使用要点

sass使用

weixin_43526403的博客 1207

sass使用

环境 sass在vscode里使用 步骤 1.百度sass,然后进入官网,你会看到一个很不错的官网;可以借鉴下它的安装步骤 但是不要全部照搬;因为它的镜像貌似有问题,淘宝的好像已经挂了 2.下面是我的步骤: 1 先安装ruby,按照官网上的安装就行了 2 打开cmd # ruby -v 查看安装是否搞定 3 换gem源,不要换官网的,没用 # gem sources --remove https:...

李卓书 226

sass安装与使用

npm install -g node-sass -D npm install -g sass-loader -D 其实之所以用到node-sass、是因为sass-loader的缘故。sass-loader 是将sass文件编译成css,而sass-loader又依赖于node-sass,所以需要安装node-sass -g是全局安装,-D是安装到开发依赖 ...

weixin_43893844的博客 3105
上一篇: bootstrap栅格系统
下一篇: 如何进行web前端性能优化
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值