学习SASS
这几天白老师叫我们css的扩展技术,有什么LESS,还有SASS(我还以为是SAS...QAQ),LESS由于功能比较简单,用的也比较少所以我们重点学习了SASS.简单地说SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护。SASS扩展了CSS3,增加了规则、变量、混入、选择器、继承等等特性。SASS 生成良好格式化的 CSS 代码,易于组织和维护。
SASS让我们能够像JS一样来编写CSS,说起来也是方便我们的代码书写,然而我并没有感觉到方便啊!可能是还没习惯吧...既然说到了SASS,就不能不提一下koala工具,安装方法就是下一步,下一步...安装完成之后,把你css所在的文件夹拖入koala即可(注意是文件夹),刷新一下,然后再文件夹内新建后缀名为.scss的文件(为什么不是.sass呢?因为scss文件更符合我们日常的书写习惯,有助于上手.而sass文件在书写时,少了冒号和花括号,总觉得少了什么,当然不排除什么大神喜欢这么干!),新建完成后,就可以写代码了,写完了编译一下会生成.css文件和.map文件,至于.map文件不用管了,反正浏览器只认识.css文件.
1.引入文件:@import;
例如:@import "b";注意这里的b文件指的是.sass文件或是scss文件,不用写后缀;而如果是css文件的话,就要写后缀名了;
2.定义变量:$;
例如$color:red !default; (这里的default是指默认值);
$direct:top;
好了我们就可以开始使用了:
p{
color: $color;//red;
.border-top: 1px solid red; //我们可以写成.border-#{$direct}: 1px solid red;
}
是不是很方便,可能现在看起来很繁琐,但是代码多起来的时候,我们会遇到很多重复的代码,我们就可以用变量来替换.当我们需要修改的时候,就不用一一去找对应的选择器再去修改其中对应的数值了;
3.我们还可以用到函数.比如:
//数组
$num:1px 2px 3px 4px;
margin:nth($num,1);//即表示margin:1px;
//键值对
$map:(a1:1em,a2:23em,a3:20em);
width:map-get($map,a1);//即是取得a1键的值;
4.嵌套
嵌套我们平时其实就在使用;比如div下边的所有p元素,我们可以写作:div p{}
div{
width:100px;
height:100px;
p{
font-size:100px;
}
}//当然还有属性的嵌套由于使用较少,没栗子;
5.混合封装
@mixin wh{
width:100px;
height:10px;
}
//可以传入参数
@mixin whb($w,$h){
width:$w;
height:$h;
}
在引入时只需要写:@include wh(100px,200px);即可;
6.继承.如果我们使用的重复的内容有参数我们就用混合,没有就用继承
h1{
font-size:20px;
font-weight:bold;
}
.my{
@extend h1; //即表示继承h1的属性;
7.判断(很强大吧)
$it7:false;
p{
@if($it7){
zoom:1;
}
@else{
overflow:hidden;
}
等等...
实在是太强,学习中,还不能体会其中的精妙之处...好了;
学习SASS的更多相关文章
- 学习Sass之安装Sass(一)
为什么使用Sass 作为前端(html.javascript.css)的三大马车之一的css,一直以静态语言存在,HTML5火遍大江南北了.javascript由于NODE.JS而成为目前前后端统一开 ...
- 学习Sass之安装Sass
学习Sass之安装Sass 为什么使用Sass 作为前端(html.javascript.css)的三大马车之一的css,一直以静态语言存在,HTML5火遍大江南北了.javascript由于NODE ...
- 学习Sass(一)
一.什么是sass? 写过css的都知道,css是用来改变页面样式的.但它不是一种编程语言,没有变量,函数,继承等功能,只能一条条抒写样式语句很死板.在这个工具决定效率的时代,这是不能容忍的事情.怎样 ...
- 对比学习sass和stylus的常用功能
在众多的css预处理器语言中,sass和stylus算是十分优秀的两个.本文主要针对两者的常用功能做个简单的对比分析.在对比中了解二者的差异,同时帮助大家更好的掌握这两种预处理语言.本文涉及到的sas ...
- 学习Sass 的基本语法规则[Sass和compass学习笔记]
自从发现可编程的css语法 Sass和基于Sass的css库compass 一个给我的感觉像c# 另外一个给我的感觉像.NET Framework,一切都为了提升开发效率和降低开发大型web的门槛. ...
- 学习Sass(二)
前面简单介绍了sass的安装,特点和使用方法等,这里记录下sass的基本语法. 1.变量 2.运算 3.嵌套 4.代码复用 5.高级语法 6.自定义函数 一.变量 变量以$开始,像css属性那样赋值, ...
- 学习Sass之安装篇
Sass是基于ruby开发的,所以想要用Sass要先搭建ruby环境 1 Mac下安装 2 windows下安装 3 下载koala,只需要下载这个软件,其余什么都不需要你安装
- 学习Sass笔记之概念篇
1 什么是CSS预处理器 首先我们了解一下什么是CSS预处理器:通俗的说,“CSS 预处理器用一种专门的编程语言,进行 Web 页面样式设计,然后再编译成正常的 CSS 文件,以供项目使用.CSS 预 ...
- compass General 常用api学习[Sass和compass学习笔记]
compass 中一些常用api 包括一些浏览器hack @import "compass/utilities/general" Clearfix Clearfix 是用来清除浮动 ...
随机推荐
- VMware Tools按钮变灰色,无法安装的解决方法
参考博客: https://blog.csdn.net/weixin_30639719/article/details/94846851 https://jingyan.baidu.com/artic ...
- 第三章 指令-- 30 指令-使用钩子函数的第二个binding参数拿到传递的值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- Linux知识点(二)
1 df 查看磁盘空间使用情况 df: disk free 空余硬盘 1.基本语法 df 项 (功描能述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)选 2.选项说明 选项 功能 ...
- 基于树莓派2代的DIY无线路由器
最近手上多了一个树莓派2代,于是折腾就这么开始了. 因为总是得要个显示屏或者路由器或者插根网线才能玩,有点麻烦,所以有了此文. 设备清单: 树莓派2代 EDUP EP-N8508GS无线网卡(USB) ...
- 21.django中间件源码阅读
回顾: 关于里面的源码流程大家可以全看视频,因为代码的跳动性很大,而且会多次调用通过一方法,所以关于中间源码的部分去找个视频看一看,我写的不是很清楚. # 1 cookie session # 2 f ...
- CSS的Animation&Transition&gradients属性
㈠Animation&Transition&gradients 代码示例 圆形,渐变颜色,旋转,当鼠标放在圆上,圆旋转变大 <!DOCTYPE html> <html ...
- BZOJ 5084: hashit 后缀自动机(原理题)
比较考验对后缀自动机构建过程的理解. 之前看题解写的都是树链的并,但是想了想好像可以直接撤销,复杂度是线性的. 自己想出来的,感觉后缀自动机的题应该不太能难倒我~ 注意:一定要手画一下后缀自动机的构建 ...
- Python3学习笔记(十五):常用时间模块time和datetime
一.time模块 1.时间戳 time.time() :从1970-01-01到至今的秒数 import time print(time.time()) 1529238004.2784646 2.等待 ...
- C++入门经典-例6.12-使用数组地址将二维数组输出
1:以a[4][3]为例 a代表二维数组的地址,通过指针运算符可以获取数组中的元素 (1)a+n代表第n行的首地址 (2)&a[0][0]既可以看作第0行0列的首地址,同样也可以被看作是二维数 ...
- C++入门经典-例6.4-输出字符数组中的内容
1:代码如下: // 6.4.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using ...