前端菜鸟之SASS入门笔记

简介: 前端菜鸟之SASS入门笔记

Sass 是成熟、稳定、强大的 CSS 扩展语言。sass是需要编译的,sass不能直接用于页面。它可以提高编程效率(对于使用熟练的人来说)。


sass想要应用在项目中需要编译成css文件。用考拉!


sass有两种后缀名文件:一种后缀名为sass,不使用大括号和分号;另一种就是我们这里使用的scss文件,这种和我们平时写的css文件格式差不多,使用大括号和分号。而本教程中所说的所有sass文件都指后缀名为scss的文件。在此也建议使用后缀名为scss的文件,以避免sass后缀名的严格格式要求报错。


一、变量

sass中可以定义变量,可以统一维护。sass定义变量用$开头

$fontStack:    Helvetica, sans-serif;
$primaryColor: #333;
body {
  font-family: $fontStack;
  color: $primaryColor;
}
//编译成css style//-----------------------------------body {
  font-family: Helvetica, sans-serif;
  color: #333;

复杂变量的使用

//sass style//-------------------------------
$linkColor:         #08c #333 !default;//第一个值为默认值,第二个鼠标滑过值a{
  color:nth($linkColor,1);
  &:hover{
    color:nth($linkColor,2);
  }
}
//css style//-------------------------------a{
  color:#08c;
}
a:hover{
  color:#333;
}

二、嵌套

sass可以进行选择器的嵌套,表示层级关系,看起来很有bigger整齐。

/sass style//-----------------------------------nav {
  ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  li { display: inline-block; }
  a {
    display: block;
    padding: 6px 12px;
    text-decoration: none;
  }
}
//css style//-----------------------------------nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
nav li {
  display: inline-block;
}
nav a {
  display: block;
  padding: 6px 12px;
  text-decoration: none;
}



三、mixin(混合)

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


sass中可用mixin定义一些代码片段,且可传参数,方便日后根据需求调用。从此处理css3的前缀兼容轻松便捷。

//sass style//-----------------------------------@mixin box-sizing ($sizing) {
    -webkit-box-sizing:$sizing;     
       -moz-box-sizing:$sizing;
            box-sizing:$sizing;
}
.box-border{
    border:1px solid #ccc;
    @include box-sizing(border-box);
}
//css style//-----------------------------------.box-border {
  border: 1px solid #ccc;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

四、扩展/继承

sass可通过@extend来实现代码组合声明,使代码更加优越简洁。

//sass style//-----------------------------------.message {
  border: 1px solid #ccc;
  padding: 10px;
  color: #333;
}
.success {
  @extend .message;
  border-color: green;
}
.error {
  @extend .message;
  border-color: red;
}
.warning {
  @extend .message;
  border-color: yellow;
}
//css style//-----------------------------------.message, .success, .error, .warning {
  border: 1px solid #cccccc;
  padding: 10px;
  color: #333;
}
.success {
  border-color: green;
}
.error {
  border-color: red;
}
.warning {
  border-color: yellow;
}

颜色

sass中集成了大量的颜色函数,让变换颜色更加简单。

//sass style//-----------------------------------
$linkColor: #08c;a {
    text-decoration:none;
    color:$linkColor;
    &:hover{
      color:darken($linkColor,10%);
    }
}
//css style//-----------------------------------a {
  text-decoration: none;
  color: #0088cc;
}
a:hover {
  color: #006699;
}
相关文章
|
14天前
|
监控 前端开发 应用服务中间件
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽(2)
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
32 1
|
14天前
|
负载均衡 前端开发 应用服务中间件
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽(1)
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
35 1
|
26天前
|
前端开发
前端react入门day02-React中的事件绑定与组件
前端react入门day02-React中的事件绑定与组件
|
4天前
|
前端开发 JavaScript 数据库
如何实现前后端分离-----前端笔记
如何实现前后端分离-----前端笔记
|
4天前
|
前端开发 安全 NoSQL
技术笔记:Security前端页面配置
技术笔记:Security前端页面配置
|
28天前
|
JSON 前端开发 JavaScript
前端Ajax、Axios和Fetch的用法和区别笔记
前端Ajax、Axios和Fetch的用法和区别笔记
29 2
|
6天前
|
资源调度 JavaScript 前端开发
【前端 - Vue】Vuex基础入门,创建仓库的详细步骤
【前端 - Vue】Vuex基础入门,创建仓库的详细步骤
|
28天前
|
前端开发
前端基础学习(一)HTML入门
前端基础学习(一)HTML入门
13 0
前端基础学习(一)HTML入门
|
10天前
|
前端开发 JavaScript 算法
前端高级技术框架Vue2从入门安装到常见指令
前端高级技术框架Vue2从入门安装到常见指令
10 0