sass的基础认识

sass的语法运用

1.语法

sass有两种后缀名文件:一种后缀名为sass,不使用大括号和分号;另一种就是我们这里使用的scss文件,这种和我们平时写的css文件格式差不多,使用大括号和分号。而本教程中所说的所有sass文件都指后缀名为scss的文件。

//文件后缀名为sass的语法

body

background: #eee

font-size:12px

p

background: #0982c1

//文件后缀名为scss的语法

body {

background: #eee;

font-size:12px;

}

p{

background: #0982c1;

}

sass的导入(@import)规则和CSS的有所不同,编译时会将@import的scss文件合并进来只生成一个CSS文件。但是如果你在sass文件中导入css文件如@import ‘reset.css‘,那效果跟普通CSS导入样式文件一样,导入的css文件不会合并到编译后的文件中,而是以@import方式存在。

所有的sass导入文件都可以忽略后缀名.scss。一般来说基础的文件命名方法以_开头,如_mixin.scss。这种文件在导入的时候可以不写下划线,可写成@import "mixin"。

2.变量

sass的变量必须是$开头,后面紧跟变量名,而变量值和变量名之间就需要使用冒号(:)分隔开(就像CSS属性设置一样),如果值后面加上!default则表示默认值。

普通变量

定义之后可以在全局范围内使用

默认变量

sass的默认变量仅需要在值后面加上!default即可

特殊变量

一般我们定义的变量都为属性值,可直接使用,但是如果变量作为属性或在某些特殊情况下等则必须要以#{$variables}形式使用。

多值变量

多值变量分为list类型和map类型,简单来说list类型有点像js中的数组,而map类型有点像js中的对象。

list

list数据可通过空格,逗号或小括号分隔多个值,可用nth($var,$index)取值。关于list数据操作还有很多其他函数如length($list),join($list1,$list2,[$separator]),append($list,$value,[$separator])等,具体可参考sass Functions(搜索List Functions即可)

多值变量分为list类型和map类型,简单来说list类型有点像js中的数组,而map类型有点像js中的对象。

map

map数据以key和value成对出现,其中value又可以是list。格式为:$map: (key1: value1, key2: value2, key3: value3);。可通过map-get($map,$key)取值。关于map数据还有很多其他函数如map-merge($map1,$map2),map-keys($map),map-values($map)

全局变量

在变量值后面加上!global即为全局变量。这个目前还用不上,不过将会在sass 3.4后的版本中正式应用。目前的sass变量范围饱受诟病,所以才有了这个全局变量。

混合(mixin)

sass中使用@mixin声明混合,可以传递参数,参数名以$符号开始,多个参数以逗号分开,也可以给参数设置默认值。声明的@mixin通过@include来调用。

多个参数mixin

调用时可直接传入值,如@include传入参数的个数小于@mixin定义参数的个数,则按照顺序表示,后面不足的使用默认值,如不足的没有默认值则报错。除此之外还可以选择性的传入参数,使用参数名与值同时传入。

多组值参数mixin

如果一个参数可以有多组值,如box-shadow、transition等,那么参数则需要在变量后加三个点表示,如$variables...。

时间: 2024-10-11 17:02:16

sass的基础认识的相关文章

sass语法基础知识

文件后缀名 sass有两种后缀名文件:一种后缀名为sass,不使用大括号和分号:另一种就是我们这里使用的scss文件,这种和我们平时写的css文件格式差不多,使用大括号和分号.而本教程中所说的所有sass文件都指后缀名为scss的文件.在此也建议使用后缀名为scss的文件,以避免sass后缀名的严格格式要求报错. //文件后缀名为sass的语法 body background: #eee font-size:12px p background: #0982c1 //文件后缀名为scss的语法 b

关于sass的基础语法介绍

注:主要作为记录用 前言: sass是css预编译工具中的一种,结合compass使用可以大大加快css开发的速度,同时也可以解决一些css开发里比较难受的点.使用sass可以使css的开发对编程人员更友好. 安装和使用: sass基于ruby,首先需要去ruby官网下载安装ruby.ruby下载地址. 下载安装过程很简单,记得勾选添加到PATH.之后就可以在命令行里通过 ruby -v 来查看是否安装成功. 然后就可以使用gem包管理工具了 因为容易被墙 需要换源: gem sources -

Sass 文件 基础知识

sass文件名为.scss 可以设置变量 //sass style $fontStack:Heletica,sans-serif;$primaryColor:#333; body{ font-family:$fontStack; color:$primaryColor;} //css style //-----------------------------------body { font-family: Helvetica, sans-serif; color: #333;} 嵌套 - sa

揭开Sass和Compass的神秘面纱

可能之前你像我一样,对Sass和Compass毫无所知,好一点儿的可能知道它们是用来作为CSS预处理的.那么,今天请跟我一起学习下Sass和Compass的一些基础知识,包括它们是什么.如何安装.为什么要使用.基础语法等一些基本知识.需要说明的是我也仅仅只是刚刚接触Sass和Compass,一些高级用法等将不再本文的讨论范围之内.接触一周以后发现Sass和Compass的用处非常大,也打算今后在项目中尝试引进并应用起来.希望读完以后,你跟我一样对Sass和Compass给你带来的东西非常开心,也

三言两语之简单上手sass

背景:   初次接手公司的项目,虽然之前草草的看过一些sass的基础知识,但是因为久未征战,知识也早已随风飘散,现在小复习一下记下一些常识中的重点..sass是使用ruby写的,所以使用前请先确保自己的机子中有了ruby的开发环境,在cmd下使用 ruby -v 命令可以查看当前的ruby版本. 简介及概述:   sass是css的 预处理工具,当我们的css代码量很大的时候可以简化我们的开发方便后续的维护.什么是预处理工具,简单的理解就是在产生真正css代码 之前 要做的工作,他融入了一些高级

初识sass框架

编写过页面的开发者都知道css这个东西,究其原意,也就是层叠样式表,我们页面的三大结构,html css javascript,其中html负责主要的页面结构,css就负责主要的页面样式,而我们的js就主要负责页面的动态,在这里我们知道css是基于渲染原理,和w3c来设计标准的,对于简单的页面来说,页面内容不是很多,所以样式也就不会很多,这种情况下面编写的css样式表,也就不会显得十分的臃肿,但是如果我们卡开发的是一些比较大型的网站的话,光是页面就会有很多,加上内容和样式,你就会发现里面会有很多

Sass和Compass入门

一.前言 1.Sass是什么? Sass可以简化你的Css工作流,并可以使你的Css的扩展和维护工作变的更加容易!例如,曾几时何,因为客户的需求的变更,你必须不断的通过查找和替换来更改一个像素值,或者,为了能够确定多栏布局中某一栏的宽度,你需要使用计算像素值软件才能搞定. Sass引入了一些新的概念如,变量,混合,嵌套和选择器继承.Sass 生成良好格式化的 CSS 代码,易于组织和维护. SASS是对CSS3(层叠样式表)的语法的一种扩充,它可以使用巢状.混入.选择子继承等功能,可以更有效有弹

css预处理器sass入门学习

SASS 叫做css预处理器,他的基本思想是用一门专门的编程语言来进行页面样式的设计,然后在编译成正常的css文件. Sass的用法 安装 sass是用ruby语言写的,所以我们在安装sass之前要先安装ruby(ruby安装自行百度),执行下面命令安装: gem install sass 使用 sass就是普通的文本文件,后缀名为.scss.然后让我们用sass的语法写好文件之后,需要编译成.css文件才能供html文件使用(即通过link标签引入html文件),那么我们就可以使用命令行或是g

侧栏工具条开发

我们能学到什么 1.使用Sass更好的书写CSS 2.使用RequireJS进行模块化开发,编写出方便复用的代码 3.使用CSS3实现简单的动画效果 ########################################################################################## 使用Sass编写css Sass的基础知识 将sass编译成css -- koala工具的使用 http://koala-app.com/index-zh.html 在