学习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 是用来清除浮动 ...
随机推荐
- kotlin面向对象之接口、代理与委托、单例模式
接口: 对于什么是接口这里就不概述了,跟java中的概念一样,下面直接上代码进行操练: 而男人跟女人的接口当然也是不同的,很显然男人跟女人最大的差别就是拥有"小弟弟"[我黄我暴利] ...
- MST-kruskal ElogE+V
hdu 1233 #include<stdio.h> #include<algorithm> using namespace std; struct dis { int a, ...
- Kruskal重构树+LCA || BZOJ 3732: Network
题面:https://www.lydsy.com/JudgeOnline/problem.php?id=3732 题解:Kruskal重构树板子 代码: #include<cstdio> ...
- C语言高级用法---typeof( ((type *)0)->member )和offset_of()
前言 本文讲解typeof( ((type *)0)->member )的含义,并在此基础上学习offset_of()的用法.typeof( ((type *)0)->member ) A ...
- 【CF1181D】Irrigation
题目大意:给定 M 个城市,每年会选出一个城市举办比赛,现给出前 N 年城市举办比赛的情况.在接下来的年份中,每年会在举办比赛次数最小的城市举办比赛,如果有很多城市举办次数均为最小值,则在编号最小的城 ...
- RocketMQ和Kafka的差异对比
Broker差异 主从差异: kafka的master/slave是基于partition维度的,而rocketmq是基于broker维度的:kafka的master/slave是可以切换的,而roc ...
- 把自己的web项目发布到网页上
一.首先,登录自己的bce百度云,bce.baidu.com,建立一个自己的网站 点击左边的应用引擎BAE 点击BAE基础版的部署列表,刚开始是没有的,要添加部署 其中的选项只需要写域名(应用名称会和 ...
- Oracle存储结构-段区块
段 一个段建立以后首先会分配一个区,区中包括含8个块,这时执行insert插入数据,当这个区写满后,会在分配一个区 1.一个段建立以后,Oracle如何给段分配区? 2.段分配到区以后,有了空闲空间, ...
- python_自动化测试用例参数化
参数化有三种,代码驱动,数据驱动,关键字驱动 代码驱动,测试数据写在代码中 如下: import requests,json import unittest import BeautifulRepor ...
- 兼容pc端和移动端的轮播图插件 swiper.js
swiper.js是一款纯JavaScript打造的滑动特效插件,可以用来实现检点轮播图,tab触摸滑动切换等常用效果.下载地址:https://www.swiper.com.cn/download/ ...