Sass

逻辑极光者
• 阅读 947

sass介绍

•    SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单且可维护。
•    SASS的本质是一种帮助你简化CSS工作流程的方式,帮助你更容易的维护和开发CSS内容。
    环境搭建及编译指令
•    在 Windows 平台下安装 Ruby 需要先有 Ruby 安装包,大家可以到 Ruby 的官网(http://rubyinstaller.org/downloads)下载对应需要的 Ruby 版本。

•    Ruby 安装文件下载好后,可以按应用软件安装步骤进行安装 Ruby。在安装过程中,个人建议将其安装在 C 盘下,在安装过程中选择第二个选项(不选中,就会出现编译时找不到Ruby环境的情况),如下图所示:
 
•    Ruby 安装完成后,在开始菜单中找到新安装的 Ruby,并启动 Ruby 的 Command 控制面板,如下图所示: 
•    当你的电脑中安装好 Ruby 之后,接下来就可以安装 Sass 了。同样的在windows下安装 Sass 有多种方法。但这几种方法都是非常的简单,只需要在你的命令终端输入一行命令即可。

• 通过命令安装 Sass

  • 打开电脑的命令终端,输入下面的命令:gem install sass • 提醒一下,在使用 Mac
    ,可能需要在上面的命令前加上"sudo",才能正常安装:

      sudo gem install sass •    如果不能正常安装sass?  •    gem sources --remove https://rubygems.org/  •    gem sources -a

    https://ruby.taobao.org/[如果你系统不支持https,请将淘宝源更换成:gem sources -a
    http://gems.ruby-china.org ] • gem sources -l • gem install sass
    • 检测Sass • sass -v • 升级sass版本的命令行为 • gem update sass • 卸载(删除)sass
    : gem uninstall sass • 基本用法 • sass提供四个编译风格的选项: • nested :
    嵌套缩进的css代码,它是默认值 • expanded:没有缩进的、扩展的css代码 • compact:简洁格式的css代码
    • compressed:压缩后的css代码

sass导入

•    Css本身包含一个指令@import,但是CSS中的@import每次执行都会发送一次新的请求都会消耗一定的资源

SASS中扩展了这个指令,会将包含的编译成一个CSS文件,切割成小的部分(partials)包含进来进行处理。
Partials这样的文件,命名规范是以下划线开头的,这样的SCSS文件不会被编译成CSS文件。
Partials是用来定义公共样式或者组件的样式的,专门用于被其他的SCSS文件import进行使用的.

sass嵌套

•    Sass 中还提供了选择器嵌套功能,但这也并不意味着你在 Sass 中的嵌套是无节制的,因为你嵌套的层级越深,编译出来的 CSS 代码的选择器层级将越深,这往往是大家不愿意看到的一点。这个特性现在正被众多开发者滥用。
•    选择器嵌套为样式表的作者提供了一个通过局部选择器相互嵌套实现全局选择的方法,Sass 的嵌套分为三种:
    •    选择器嵌套
    •    属性嵌套
    •    伪类嵌套(了解)
    •    选择器嵌套

sass变量定义

• SASS中的变量,必须是$符号开头,后面紧跟变量名,变量名称和变量值之间要使用冒号:进行分隔(参考CSS属性和值的设定语法),如果值后面加上[!default]就表示默认值。
引用变量的值,直接使用变量名称,即可引用定义的变量的值。
• 普通变量:定义之后可以在全局范围内使用
• 默认变量:sass的默认变量需要在值的后面加上!default进行标识• 默认变量的覆盖:在默认变量前后,重新声明变量并赋值即可
• 默认变量是基于组件化开发的过程中,进行优化处理的
• 特殊变量:一般情况下,我们定义的变量都是属性值,可以直接使用,但是如果变量作为属性或者其他的特殊情况下,必须使用#{$variable}的形式进行调用。
• #{$varialbe}就是取值的一种特殊形式,符合特殊用法。

sass判断语句

• @if指令是SASS中的一个控制指令,用于在表达式满足条件(true)的时候输出指定的样式,在不满足条件(false)或者表达式为null的情况下输出其他的样式
@if条件{

     //当条件为真时执行的样式

}
同样,也可以通过@else if 和@else 指令结合,进行多条件的判断
*

• sass数组/map(了解)

*
• list表示列表类型的值
在CSS中就是表示属性的一串值
列表中的值可以使用空格或者逗号分隔,如
• border:#ccc solid 1px;值就是列表
• font – family:Courier , “Lucide Console”,monospace;值也是列表
• 列表中可以包含其他的列表,如:
• padding(10px 5px) (5px 5px);可以用括号分开,编译成css时会去掉这些括号
• map就是列表项目中带名称的列表
• $map : (key1 : value1,key2:value2,key3:value3)
• $var (key1:value1,key2:value2..):声明一个Map
• length($map):获取map中的元素对个数
• map-get($map,key):获取$map中名称为key的值
• map-keys($map):获取指定$map中所有的key
• map-values($map):获取指定$map中所有的value
• map-has-key($map,key):判断在$map中是否包含指定的key
• map-merge($map1,$map2):将$map1和$map2合并在一起
• map-remove($map,key):将指定名称的key从$map中移除

• sass循环语句*

• @for指令在SASS中用于重复处理一组指令
• 有两种表现形式
• @for $var from <开始值> through < 结束值>
• @for $var from <start> to <end>
• to和throuch都是表示一个区间,唯一的区别就是停止循环的地方不一样。$var可以是任意一个变量名称如$i,<start>和<end>是SASS表达式并且必须是整数
• @each在SASS中主要被用来进行列表或者映射数据的循环
• 主要表示形式:@each $var in <list>
• $var可以是任意变量名称,<list>是SASS表达式并且必须是list.
• sass-mixin函数(宏)
• sass中可以通过@mixin声明混合,可以传递参数,参数名称以$开始,多个参数之间使用逗号分隔,@mixin的混合代码块由@include来调用.
• sass-function介绍
• 函数的功能主要是数据的运算,SASS中可以将一些值交给函数进行处理,具体的处理方式由定义的函数具体的设计确定。
• @function 函数名称(参数列表){

    //数据处理

}

sass继承

• SASS允许一个选择器,继承另一个选择器。比如,现有class1:
  .class1 {
    border: 1px solid #ddd;
  }
class2要继承class1,就要使用@extend命令:
  .class2 {
    @extend .class1;
    font-size:120%;
  }

<--------------------------------------end---------------------------------------------->

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Wesley13 Wesley13
4年前
SASS基础
特点:1.在css基础上增加特性:变量、嵌套(nesting)、混合(@mixin)、继承(@extend);2.通过函数进行颜色值与属性值的运算;3.提供控制指令等高级功能;4.自定义输出指令;数据类型:Sass和JavaScript语言类似,也具有自己的数据类型,在Sass中包含以下几种数据类型:1\
Stella981 Stella981
4年前
CSS预编译器:Sass(入门),更快的前端开发
Sass扩展了CSS3,增加了规则、变量、混入、选择器、继承等等特性。Sass生成良好格式化的CSS代码,易于组织和维护。SASS是对CSS3(层叠样式表)的语法的一种扩充,它可以使用巢状、混入、选择子继承等功能,可以更有效有弹性的写出Stylesheet。Sass最后还是会编译出合法的CSS让浏览可以使用,也就是说它本身的语法并不太容易让浏览
Stella981 Stella981
4年前
CSS预处理器SASS用法和koala工具的使用
   最近在学习前端的时候,发现了一个SASS(CSS预处理器),感觉在前端布局写css样式来说是相当强大,效率又高,在用到SASS的时候感觉很爽。   首先说一下传统的CSS,在程序员的眼里感觉是一个很麻烦的东西,没有变量,也没有运算,还没有条件语句,感觉写的相当费事。  在人们都感觉费事的同时,真有牛人把CSS加入了编程的元素,这就是(CS
Stella981 Stella981
4年前
Sass预编译
sass基于Ruby       ruby的模块管理器叫gem 正规的安装方式是geminstallsass        调用命令  sass  sass文件  css文件webpack编译sass    需要的模块styleloader cssloader sas
Easter79 Easter79
4年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
4年前
Python+Selenium练习篇之5
前面介绍了,XPath,id,class,linktext,partiallinktext,tagname,name七大元素定位方法,本文介绍webdriver支持的最后一个方法:by\_css。css和XPath类似,也需要掌握一些语法,才能写出正确的,完整的css选择表达式。相关脚本代码如下:codingu
Stella981 Stella981
4年前
Sass
嵌套规则(NestedRules)Sass允许将一套CSS样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器mainp{color:00ff00;width:97%;.redbox{
子桓 子桓
2年前
Ruby代码编辑器 RubyMine 2023 mac
RubyMine2023mac一款适用于各种Ruby项目的智能IDE,具有智能代码编辑器,专为高效开发而设计。1.智能和简单的编码代码完成为Ruby和RAIls,JavaScript和CoffeeScript,ERB和HAML,CSS,Sass和Less等
逻辑极光者
逻辑极光者
Lv1
千淘万漉虽辛苦,吹尽狂沙始到金。
文章
3
粉丝
0
获赞
0