Sass的学习(二)

很长时间没有去写一些简单的前端JS之类的甚至是基础的SQL部分,这次找工作的时候说实话碰到了很多基础方面的问题。


这次趁着自己找工作的时间去重新系统化的学习Web开发~
重新撸一遍代码~(_) 嘻嘻……
这个文集主要是一些Web开发向的笔记和学习记录,一些库和工具框架的学习。
大部分都是入门级的。
文集地址


Sass学习的第二部分(同样也是imooc上的第二部分),如果想看第一部分,可以翻看我的文集。

这部分主要是一些常用函数和流程控制语句。

逻辑与流程控制语句

  1. @if:
  • @if语句用于条件判断。还可以配合@else@else if进行条件判断
  • 配合函数式的参数进行true||false的判断。
  1. @for
  • 循环语句,构建类似于col1-col12这样的栅格系统非常方便。
  • @for through不包含最终的数,但是@for to包含区间数。
@for $i from 1 through 3 { .item-#{$i} { width: 2em * $i; }}
  1. @while:
  • @while循环模式,当条件为true时,一直进行循环
  1. @each
  • @each 循环就是去遍历一个列表,然后从列表中取出对应的值
  • $list: adam john wynn mason kuroir;//$list 就是一个列表=>@each $var in <list>

@规则

  1. @import
  • 它能够引入 SCSS 和 Sass 文件
  • @import 根据文件名引入。 默认情况下,它会寻找 Sass 文件并直接引入, 但是,在少数几种情况下,它会被编译成 CSS 的 @import 规则:
    1. 如果文件的扩展名是 .css。
    2. 如果文件名以 http:// 开头。
    3. 如果文件名是 url()。
    4. 如果 @import 包含了任何媒体查询(media queries)。
  1. @media
  • min-width等不同的设备上的不同CSS,坐适配。
  • 同样对应CSS的使用方式
  1. @extend
  • @extend 是用来扩展选择器或占位符
  • @extend 不止扩展类选择器,还可以扩展任何选择器
  1. @at-root
  • 就是跳出根元素,对于某些元素需要跳出其上层元素时使用此标签。
  1. @debug
  • @debug 在 Sass 中是用来调试的,当你的在 Sass 的源码中使用了 @debug 指令之后,Sass 代码在编译出错时,在命令终端会输出你设置的提示 Bug:
  1. @warn、@error
  • @warn@error,@debug 功能类似,用来帮助我们更好的调试 Sass

常用函数

字符串

  1. unquote($string):删除字符串中的引号,不能删除文字中的引号;
  2. quote($string):给字符串添加引号,自身带有引号会统一换成双引号。
  3. To-upper-case($string) 函数将字符串小写字母转换成大写字母。
  4. To-lower-case($string)将字符串转换成小写字母。

数字

  1. percentage($value)将一个不带单位的数转换成百分比值。
  2. round($value)将数值四舍五入,转换成一个最接近的整数。
  3. ceil($value)将大于自己的小数转换成下一位整数。
  4. floor($value)将一个数去除他的小数部分。
  5. abs($value)返回一个数的绝对值。
  6. min($numbers…)找出几个数值之间的最小值。
  7. max($numbers…)找出几个数值之间的最大值。
  8. random() 获取随机数。

列表

  1. length($list)返回一个列表的长度值。
  2. nth($list, $n)返回一个列表中指定的某个标签值。
  3. join($list1, $list2, [$separator])将两个列给连接在一起,变成一个列表。
  4. append($list1, $val, [$separator])将某个值放在列表的最后。
  5. zip($lists…)将几个列表结合成一个多维的列表。
  6. index($list, $value)返回一个值在列表中的位置值。

内省函数

  1. type-of($value)返回一个值的类型
  • number 为数值型
  • string 为字符串型
  • bool 为布尔型
  • color 为颜色型
  1. unit($number)返回一个值的单位,碰到了复杂的运算,如果是* or /会返回一个“多单位的组合”,但是对于加减则会报错(除 px 与 cm、mm 运算之外)。
  2. unitless($number)判断一个值是否带有单位,返回值为bool
  3. comparable($number-1, $number-2)判断两个值是否可以做加、减和合并,返回一个bool

三元函数

if($condition,$if-true,$if-false)函数即当$condition成立时,返回值为第二个参数,为false时返回第三个参数

Map函数

//基本的$map 写法
$map: (
    key1: value1,
    key2: (
        key-1: value-1,
        key-2: value-2,
    ),
    key3: value3
);

1.map-get($map,$key)根据给定的 key 值,返回 map 中相关的值,相当于map中取值。
2.map-merge($map1,$map2)将两个 map 合并成一个新的 map。
3.map-remove($map,$key)从 map 中删除一个 key,返回一个新 map。
4.map-keys($map)返回 map 中所有的 key。
5.map-values($map)返回 map 中所有的 value。
6.map-has-key($map,$key)根据给定的 key 值判断 map 是否有对应的 value 值,如果有返回 true,否则返回 false。
7.keywords($args)返回一个函数的参数,这个参数可以动态的设置 key 和 value。

颜色函数

  1. rgb($red,$green,$blue),根据红、绿、蓝三个值创建一个颜色
  2. rgba($red,$green,$blue,$alpha)根据红、绿、蓝和透明度值创建一个颜色
  3. red($color)从一个颜色中获取其中红色值;
  4. green($color)从一个颜色中获取其中绿色值;
  5. blue($color)从一个颜色中获取其中蓝色值;
  6. mix($color-1,$color-2,[$weight]):把两种颜色混合在一起。

HSL、Opacity函数:

HSL
  1. hsl($hue,$saturation,$lightness)通过色相(hue)、饱和度(saturation)和亮度(lightness)的值创建一个颜色;
    2.hsla($hue,$saturation,$lightness,$alpha)通过色相(hue)、饱和度(saturation)、亮度(lightness)和透明(alpha)的值创建一个颜色
  2. hue($color)从一个颜色中获取色相(hue)值;
  3. saturation($color)从一个颜色中获取饱和度(saturation)值;
  4. lighten($color,$amount)通过改变颜色的亮度值,让颜色变亮,创建一个新的颜色
  5. darken($color,$amount)通过改变颜色的亮度值,让颜色变暗,创建一个新的颜色;
  6. saturate($color,$amount)通过改变颜色的饱和度值,让颜色更饱和,从而创建一个新的颜色
  7. desaturate($color,$amount)通过改变颜色的饱和度值,让颜色更少的饱和,从而创建出一个新的颜色;
  8. grayscale($color)将一个颜色变成灰色,相当于desaturate($color,100%);
  9. complement($color)返回一个补充色,相当于adjust-hue($color,180deg);
  10. invert($color)反回一个反相色,红、绿、蓝色值倒过来,而透明度不变。
Opacity

1.alpha($color) /opacity($color)获取颜色透明度值;

  1. rgba($color, $alpha)改变颜色的透明度值;
    3.opacify($color, $amount) / fade-in($color, $amount)使颜色更不透明;
  2. transparentize($color, $amount) / fade-out($color, $amount)使颜色更加透明。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容

  • -------------------------一、控制指令--------------------------...
    夜幕小草阅读 3,142评论 0 5
  • 基础 声明变量 普通变量 默认变量 变量覆盖:只需要在默认变量之前重新声明下变量即可 变量的调用 局部变量和全局变...
    Jill1231阅读 1,267评论 0 1
  • 一、相关网站地址 Sass官网:http://sass-lang.com/;Sass中文网:https://www...
    夏晶晶绿阅读 836评论 0 0
  • 0 快问快答 什么是猴子日记? 是个兴趣使然的博客,内容多是自己的学习心得/经历等。从构思,开发到运营,都向湾区日...
    廖志祥阅读 572评论 0 3
  • 在春暖花开的三月,经历了很多事情,内心慢慢变得沉闷,对很多事情都提不起精神。不愿意和人交流,不愿意走出去,看这个美...
    小考拉俱乐部阅读 172评论 2 5