首页 > 其他分享 >前端学习<二>CSS基础——15-Sass入门

前端学习<二>CSS基础——15-Sass入门

时间:2024-04-01 09:30:05浏览次数:20  
标签:scss 15 Sass sass css main 安装 CSS

Sass简介

大家都知道,js 中可以自定义变量,css 仅仅是一个标记语言,不是编程语言,因此不可以自定义变量、不可以引用等等。

面对这些问题,我们现在来引入 Sass,简单的说,他是 css 的升级版,可以自定义变量,可以有 if 语句,还可以嵌套等等,很神奇吧!那下面我们就来介绍返个神奇的 Sass。

Sass比Less的功能更强大,也更复杂。

Sass 的定义

Sass:英文是 Syntactically Awesome Stylesheets Sass。最早由 Hampton Catlin 开发和设计。 一种帮助你简化 CSS 工作流程的方式,帮助你更容易维护和开发 CSS 内容。

官网是:Sass: Syntactically Awesome Style Sheets

Sass 是这个世界上最成熟、稳定和强大的专业级 CSS 扩展语言。

Sass专注的是怎样创建优雅的样式表,而不是内容。

Sass、Compass与CSS

关系:

  • Less/Sass是语法、Compass是框架、CSS是目标。

Sass&Compass的好处

  • 写出更优秀的CSS。

  • 解决CSS编写过程中的痛点问题,比如精灵图合图、属性的浏览器前缀处理等。

  • 有效组织样式、图片、字体等项目元素。

受众群体:

  • 重构的同学,写很多CSS,不知如何自动化。

  • 希望在项目周期内更好地组织项目内容。

Sass的安装

sass引擎是用Ruby语言开发的(但是两者的语法没有关系),因此在安装 Sass 前,需要先安装Ruby(mac下自带Ruby无需再安装Ruby)。

下面来讲一下 Windows 下的安装Sass的步骤。

第一步:安装Ruby(windows环境)

下载地址:Downloads

貌似网络很慢,不一定能下载成功~

安装时,记得勾选“环境变量”:

安装完ruby之后,在命令行中输入ruby -v,查看ruby的的版本:

关于Mac下的Ruby

刚刚说了,Mac下自带Ruby,但是版本肯定很老:

有的时候,我们可能需要使用特定版本的ruby,或者在不同的ruby版本之间进行切换,所以,大家可以尝试安装rvm,它是ruby的版本管理工具。官网是:RVM: Ruby Version Manager - RVM Ruby Version Manager - Documentation

第二步:安装 Sass

安装完ruby之后,在开始菜单中,找到刚才我们安装的ruby,打开Start Command Prompt with Ruby。输入gem install sass安装Sass。

PS:Ruby 是使用 gem 来管理它的各种包(比如Sass)。我们安装好ruby之后,gem会自动安装上;类似于,我们安装完node之后,npm也自动安装好了。

但是,由于访问网络受限,我们可以先切换到淘宝的镜像,再安装Sass。步骤如下:

(1)移除默认的镜像,添加淘宝的镜像:

     gem sources --remove https://rubygems.org/
 ​
     gem sources -a https://ruby.taobao.org/  //注意:如果你系统不支持https,请将淘宝源更换成:gem sources -a http://gems.ruby-china.org

PS:我测试了一下,Win 7 不支持https,Mac支持https。

(2)查看当前使用的是哪个镜像:

     gem sources -l

(3)安装sass:

紧接着,输入如下命令安装Sass:

     gem install sass        // 如果mac下输入这个命令时没有权限,则需要在前面加上 sudo

系统会自动安装上最新版本的Sass。

查看sass版本的命令为:

     sass -v

升级sass版本的命令为:

     gem update sass

你也可以运行帮助命令行来查看你需要的命令:

     sass -h

参考链接:https://www.w3cplus.com/sassguide/install.html

Compass 简介和安装

安装完sass之后,我们在main.scss中写一些代码,然后输入如下命令,就可以将scss文件转化为css文件

     sass main.scss main.css

然而,真正的项目开发中,我们不一定是直接使用 sass 命令,而是使用 Compass。

Compass 简介

官网是:compass-style.org is almost here!

Compass 是开源的CSS书写框架。

Compass 安装

输入如下命令安装 Compass:

     gem isntall compass

输入如下命令查看版本:

	compass -v

compass可以直接用来搭建前端项目的样式部分,但并不是常用的方法。

Compass的简单使用

通过 Compass 创建工程目录:

cd workspace

compass create CompassDemo

文件结构如下:

  • /sass

    • ie.scss

    • print.scss

    • screen.scss

  • /stylesheets

    • ie.css

    • print.css

    • screen.css

  • config.rb

为了能够让文件实时编译,我们可以通过 copass watch 监听sass文件的变化:

	cd CompassDemo

	compass watch

当.scss文件改动时,会自动生成对应的.css文件。

Sass的语法

两种后缀名(两种语法)

sass 有两种后缀名文件:

(1).sass:对空格敏感。不使用大括号和分号,所以每个属性之间是通过换行来分隔。

比如:

h1
	color: #000
	background: #fff

这种语法是类ruby的语法,和CSS的语法相比,相差较大。所以,在3.0版本中就引入了.scss的语法。

(2).scss:是css语法的超集,可以使用大括号和分号。

比如:

h1 {
	color: #000;
	background: #fff;
}

注意:一个项目中可以混合使用两种语法,但是一个文件中不能同时使用两种语法。

两种格式之间的转换:

我们在工程目录下新建main.scss,输入如下代码:

*{
    margin: 0;
    padding: 0;
}

然后输入如下命令,就可以将上面的main.scss转化为main.sass

	sass-convert main.scss main.sass

打开生成的main.sass,内容如下:

*
  margin: 0
  padding: 0

变量语法

Sass 是通过$符号来声明变量。

(1)我们新建一个文件_variables.scss,这个文件专门用来存放变量,然后在其他的文件中引入_variables.scss即可。

因为这个文件只需要存储变量,并不需要它编译出对应的 css 文件,所以我们给文件名的前面加了下划线,意思是声明为局部文件

我们在这个文件中,声明两个字体变量:

$font1: Braggadocio, Arial, Verdana, Helvetica, sans-serif;

$font2: Arial, Verdana, Helvetica, sans-serif;

(2)新建文件main.scss,在里面引入步骤(1)中的变量文件:

@import "variables";    // 引入变量文件

.div1{
    font-family: $font1;
}

.div2{
    font-family: $font2;
}

基于 Sass 的既定规则:

  • 没有文件后缀名时,Sass 会自动添加 .scss 或者 .sass 的后缀(具体要看已经存在哪个后缀的文件)。

  • 同一目录下,局部文件和非局部文件不能重名。

对应生成的main.css文件如下:

main.css

/* line 9, ../sass/main.scss */
.div1 {
  font-family: Braggadocio, Arial, Verdana, Helvetica, sans-serif;
}

/* line 13, ../sass/main.scss */
.div2 {
  font-family: Arial, Verdana, Helvetica, sans-serif;
}

注释语法

单行注释:

//我是单行注释

块级注释:

/*
	我是块级注释
	哈哈
*/

二者的区别是:单行注释不会出现在自动生成的css文件中。

写在最后:希望大家可以点个关注点个赞,这对up真的很重要!谢谢!

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

标签:scss,15,Sass,sass,css,main,安装,CSS
From: https://blog.csdn.net/2301_76926204/article/details/137218740

相关文章

  • 前端学习<二>CSS基础——14-CSS3属性详解:Web字体
    前言开发人员可以为自已的网页指定特殊的字体(将指定字体提前下载到站点中),无需考虑用户电脑上是否安装了此特殊字体。从此,把特殊字体处理成图片的方式便成为了过去。支持程度比较好,甚至IE低版本的浏览器也能支持。字体的常见格式不同浏览器所支持的字体格式是不一样的,我......
  • 11天【代码随想录算法训练营34期】 第五章 栈与队列part02(● 20. 有效的括号 ● 1047
    20.有效的括号classSolution:defisValid(self,s:str)->bool:stk=[]upper=["(","{","["]lower=[")","}","]"]dictionary={")":"(&qu......
  • 《自动机理论、语言和计算导论》阅读笔记:p115-p138
    《自动机理论、语言和计算导论》学习第6天,p115-p138总结,总计24页。一、技术总结1.associativityandcomutativity(1)commutativity(交换性):Commutativityisthepropertyofanoperatorthatsayswecanswitchtheorderofitsoperandsandgetthesameresult.......
  • CSS继承性-行高的继承性
    CSS中行高的继承性是CSS继承特性中的一个具体表现。简单来说,如果一个元素(父元素)设置了行高(line-height),那么它的子元素会继承这个行高值,除非子元素本身也设置了行高。行高的继承性有助于保持文本在父子元素之间的一致性和可读性。例如,如果父元素的行高设置为1.5(这通常是相对于......
  • CF1557D (dx)(dp技巧)
    比较有意思的一道题。看到将一个区间涂黑可以想到线段树。然后看到最少删除,想到最多保留。然后我一开始想的是贪心,对于每条线段找到前面最近的,然后对于每个高度取min即可。然后测了一下样例,寄了。会被这个hack掉对于这个,我们在做2时会把中间删了,然后做1的时候就寄了。这就说明......
  • Cursor:你的前端“超能力”助手,一句话搞定HTML、CSS、JS!
    一、简介Cursor,不仅仅是一个开发工具,更是你前端路上的“超级英雄”!它融合了GPT-4的AI智慧,能听懂你的“心声”,一键将你的创意转化为神奇的HTML、CSS和JavaScript代码。告别繁琐的编码工作,让Cursor成为你创意的翅膀,带你飞翔在前端的世界!链接:Cursor官网二、功能亮点1、一......
  • CleanMyMac X最新4.15.2中文破解版安装包下载
    CleanMyMacX4.15.2的更新内容非常全面,涵盖了功能增强、性能优化以及界面设计改进等多个方面。这款专为macOS系统设计的清理和优化工具,通过此次更新进一步提升了用户体验和系统性能。CleanMyMacX2024全新版下载如下:https://wm.makeding.com/iclk/?zoneid=49983首先,从功......
  • EasyRecovery15最新破解版注册机激活码
    EasyRecovery是一款在市场上广受欢迎的数据恢复软件,具备许多强大而实用的功能。首先,它支持多种媒体类型的数据恢复,包括硬盘驱动器、存储设备、光学媒体、多媒体/移动设备以及RAID系统等。这意味着,无论数据是从哪种类型的设备中丢失的,都有机会通过EasyRecovery进行恢复。在使用......
  • 蓝桥杯2015年第十三届省赛真题-三羊献瑞
    一、题目观察下面的加法算式:   祥瑞生辉 + 三羊献瑞---------------------- 三羊生瑞气(如果有对齐问题,可以参看【图1】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内......
  • 一些超级好用的CSS 属性
    1、fit-content盒子大小自适应内容案例:比如有时候我们需要根据给定的文本来调整盒子的宽度,这时候使用固定的宽度就很难调整,CSS提供的width:fit-content;2、透明色透明色的RGB值是(0,0,0,0),其中第四个参数表示透明度,取值范围是0到1。透明度为0表示完全透明,透明度为1表......