sass学习、sass语法、sass函数、编辑工具koala

2023-11-29 16:38

本文主要是介绍sass学习、sass语法、sass函数、编辑工具koala,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

sass学习

一、sass与scss的区别:

sass定义

sass是一种基于css的预处理语言,在css的基础上进行简化,sass可以定义变量、嵌套、扩展、条件判断、循环等功能。

sass目前有两种语法规则:sass、scss。

1) 第一种语法规则sass,又被称为缩进语法,该种语法不使用大括号、分号,而是通过缩进来指定块。文件扩展名为.sass
2) 第二中语法为scss,该语法与我们平时的css语法差不多,使用大括号、分号。scss是sass3引入新的语法,该语法完全兼容css3,并且继承了sass的强大功能,另外还能识别大部分css hacks和特定于浏览器的语法(这真是太好不过了)。文件扩展名为.scss

scss更和平常css写法类似,平常一般用scss作为后缀

二、sass语法

1.导入:@import

sass的导入规则与css有所不同。

2.注释

1)多行注释:/**/
2)当行注释://
css只有一种注释方式://

3.变量

1)普通变量:ex:$var:#ccc;

$colorPra: 12px;
body{font-size:$colorPra;
}

2)默认变量:ex: $var: 1.5 !default;【用来设置默认值】

$heightH1:        1.5 !default;
body{line-height: $heightH1; 
}

默认变量设置默认值,根据需求覆盖

$baseLineHeight:        2;
$baseLineHeight:        1.5 !default;
body{line-height: $baseLineHeight; 
}

3)特殊变量
该类变量可以设置 属性 或在某些特殊情况下使用。

$borderDirection:       top !default; 
$baseFontSize:          12px !default;
$baseLineHeight:        1.5 !default;
.border-#{$borderDirection}{border-#{$borderDirection}:1px solid #ccc;
}
//应用于复杂的属性值
body{font:#{$baseFontSize}/#{$baseLineHeight};
}

4)多值变量:list ,map

$pxA:500px 200px 300px ;//一维数组
$borderM:(1px solid #ccc),(2px dashed #000);  //二维数组
.aa{width:nth($pxA,1);height:nth($pxA,3);border:nth($borderM,1)
}
.bb{border:nth($borderM,2);
}

5)全局变量:!global

4.嵌套

1)选择器嵌套
2)属性嵌套
3)跳出嵌套:@at-root
@at-root (without: all/rule(默认值)/media/support)
@at-root (with: …)

5.混合:@mixin @include

1)无参数:

@mixin center-block {margin-left:auto;margin-right:auto;
}
.demo{@include center-block;
}

2)有参数

@mixin opacity($opacity:50) {opacity: $opacity / 100;filter: alpha(opacity=$opacity);
}

等同于

.opacity{@include opacity; //参数使用默认值
}
.opacity-80{@include opacity(80); //传递参数
}

3)多个参数

@mixin horizontal-line($border:1px dashed #ccc, $padding:10px){border-bottom:$border;padding-top:$padding;padding-bottom:$padding;  
}
.imgtext-h li{@include horizontal-line(1px solid #ccc);
}
.imgtext-h--product li{@include horizontal-line($padding:15px);
}

等同于

.imgtext-h li {border-bottom: 1px solid #cccccc;padding-top: 10px;padding-bottom: 10px;
}
.imgtext-h--product li {border-bottom: 1px dashed #cccccc;padding-top: 15px;padding-bottom: 15px;
}

6.@content

7.继承:@extend

h1{border: 4px solid #ff9aa9;
}
.speaker{@extend h1;border-width: 2px;
}

8.占位选择器: %

9.函数

在sass中有已经定义好的函数使用,比如我们经常使用的颜色函数:lighten( color, amount)和darken( color, amount),但是我们也可以自己定义自己需要的函数。

$fontSizeDefault:      16px !default;
$gray:              #000 !defualt;        @function pxTorem($px) {@return $px / $fontSizeDefault* 1rem;  //将像素px转化为rem值
}.aa{font-size:pxTorem(30px);background:$gray;&:hover{background:lighten($gray,10%);  //颜色函数计算}
}

10.运算:+- * /

进行运算的只能是可以进行 + = /* 的数值型属性(ex:数字、颜色、变量等),在进行运算的时候需要在运算符前后空格,否则会出错。

$pxA:500px 200px 300px ;//一维数组
.tt{color:#fff;width:1200px - nth($pxA,1); //进行-运算
}

11.条件判断及循环

1)@if 或者 @if @else if @else判断

$ifTrue :true;   //true false 在sass 可作为判断条件
.ab{@if $ifTrue{display:inline-block;}
}

结果为:

.ab {display: inline-block;
}

注:当$ifTrue 值为false 时,.ab类中的display是没有的。

2)三目判断
3)for循环
4)@each循环
5)多个字段list、map数据循环

四、函数统计

很多函数平常是用不上的,但是这里罗列出一些函数,方便以后使用

序号函数类别函数注释
1控制命令@if
2控制命令@for
3控制命令@while
4控制命令@each
5控制命令@for
6字符串函数unquote()
7字符串函数quote()
8字符串函数To-upper-case()、To-lower-case()
9数字函数percentage()
10数字函数round()
11数字函数ceil()
12数字函数floor()
13数字函数abs()
14数字函数min()、max()
15数字函数random()
16列表函数length()
17列表函数nth()
18列表函数join()
19列表函数append()
20列表函数zip()
21列表函数index()
22列表函数Introspection函数
23列表函数unit()
24列表函数unitless()
25列表函数comparable()
26列表函数Miscellaneous函数
27列表函数Map函数
28列表函数Maps函数:map-get($map,$key)、map-values($map)、map-merge($map1,$map2)
29列表函数Map函数map-has-key($map,$key)、map-keys($map)
30列表函数Map函数map-remove($map,$key)、keywords($args)
31颜色函数RGB()
32颜色函数RGBA()
33颜色函数Red()、Green()、Blue()
34颜色函数Mix()
35HSL函数lighten()
36HSL函数saturate()
37HSL函数adjust-hue()
38HSL函数grayscale()
39Opacity函数alpha()、opacity()
40Opacity函数rgba()
41Opacity函数opacify()、fade-out()

@规则:

序号
1@import
2@media
3@extend
4@at-root
5@debug
6@warn
7@error

五、工欲善其事必先利其器,sass编辑工具koala

这里写图片描述

koala用起来非常方便,在项目中使用sass时,该软件配合SublimeText使用,将scss文件自动编为css文件。

附上sass地址,保留地址,方便以后查看。http://www.w3cplus.com/sassguide/http://www.sass.hk/docs/

这篇关于sass学习、sass语法、sass函数、编辑工具koala的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/433540

相关文章

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm