关于Susy

Susy 是一款进行栅格布局的辅助工具,它让开发者摆脱了冗杂的数学计算,同时降低了样式与结构的耦合程度。它的能力正如官网的简介一样强大:

Your markup, your design, your opinions, out math.

栅格布局

栅格设计的特点是重视比例、秩序、连续感和现代感。 以及对存在于版面上的元素进行规划、组合、保持平衡或者打破平衡,以便让信息可以更快速、更便捷、更系统和更有效率的读取;另外最重要的一点是,负空间的规划(即:留白)也是栅格系统设计当中非常重要的部分。—— 维基百科

参考文献:sagashen.lofter.com/post/11545c…

安装与使用

Susy 是基于 Sass 开发的,严格上讲并不是一个框架,而是类库,起初,它的设计初衷是作为 Compass 平台的一部分。建议大家在 Compass 的环境下使用 Susy。

Susy 并非一定要基于 Compass,它还支持 Webpack,Gulp,Grunt等自动化工具编译,详细可以查看官网文档

#终端指令
gem install susy#如果已有compass项目
compass install susy#如果是新初始化compass项目
compass create --using susy 复制代码

默认你项目的 项目名/sass/ 文件夹下会生成一个 _grids.scss 文件

输入图片说明

打开 _grids.scss 文件,已经引入了 susy

// Requirements
// ============@import "susy";$susy: (columns: 12,gutters: 1/4,
);复制代码

小试牛刀

// sass
$susy: (container:960px,columns: 12,  // The number of columns in your gridgutters: 1/4, // The size of a gutter in relation to a single column
);.container{@include container;
}.sidebar{@include span(2);
}.main{@include span(10)
}复制代码
// output
.container {max-width: 960px;margin-left: auto;margin-right: auto;
}.container:after {content: " ";display: block;clear: both;
}.sidebar {width: 15.25424%;float: left;margin-right: 1.69492%;
}.main {width: 83.05085%;float: left;margin-right: 1.69492%;
}复制代码

专业词释义

isolate 布局

针对不同浏览器对小数点的四舍五入处理修正,如图:

输入图片说明

gutter , row , container

沟,行,全局

输入图片说明

设置篇

默认配置

$susy 是 Susy载入后自动读取的一个全局配置变量。

$susy: (// 从左至右flow: ltr,// 可选值: fluid | static , 网格的计算单位,fluid是百分号%,static是作用域的倍数em                    math: fluid,                       // 可选值: float | isolate, float是浮动形式,不解释,isolate是一种百分比溢出的修复.// 详细看http://tylertate.com/blog/2012/01/05/subpixel-rounding.htmloutput: float,// 可选值:before | after | split | inside | inside-static , // before,after对应margin-right,margin-left,// split是padding-left&padding-right,// inside-static也是padding,但是单位是px,                    gutter-position: after,      // 可选值: <length> | auto , 总区域宽度,auto则以父元素的宽度为值     container: auto,                  // 可选值: left | center | right | <length> [*2],总区域的水平对齐方式container-position: center,        // 列数columns: 4,                        // 沟值gutters: .25,                        // 可选值:<length> | false/null ,设定每列宽度,这个比较鸡肋,绝大部分情况下不用设置,除非需求奇葩。column-width: false,                // 可选值:border-box | content-boxglobal-box-sizing: content-box,    // 可选值:from | to ,建议不要改这个值,当你改成from的时候,last方法将不起作用last-flow: to,                    // debug,通过gradient制作的背景grid条,很棒的debug工具debug: (                            image: hide,color: rgba(#66f, .25),output: background,toggle: top right,),// 自定义 mixinsuse-custom: (                     background-image: true,background-options: false,box-sizing: true,clearfix: false,rem: true,)
);复制代码

Layout [function/mixin]

可以转换map配置,有mixinfunction两种用法:

function用法

  • Format: layout($layout)
  • $layout:<layout>
// input
$map: layout(auto 12 .25 inside fluid isolate);// 终端打印一下
@debug $map;//output
$map: (container: auto,columns: 12,gutters: .25,gutter-position: inside,math: fluid,output: isolate,
);复制代码

mixin用法

  • Format: layout($layout, $clean)
  • $layout: <layout>
  • $clean: <boolean>
@include layout(12 1/4);
// 默认情况下,这些新设置将添加到现有的全局设置中。使用$clean参数从头建立新的设置。复制代码

With-layout [mixin]

可以通过此mixin设置多个栅格系统,而互相之间不冲突。

  • Format: with-layout($layout, $clean) { @content }
  • $layout:<layout>
  • $clean: <boolean>
  • @content:Sass content block
@include with-layout(8 static) {// Temporary 8-column static grid...
}// Global settings are restored...复制代码

Susy-Get [function]

获取配置参数

  • Format: susy-get($key, $layout)
  • $key: Setting name
  • $layout: <layout>
$large: layout(80em 24 1/4 inside);
$large-container: susy-get(container, $large);
// debug output : 80em复制代码

原创链接:github.com/Janking/Blo…

转载于:https://juejin.im/post/593f575cda2f600067373dbc

Susy 2 教程 — 入门篇相关推荐

  1. Susy 2 教程 — 实战篇

    Susy 2 教程 - 入门篇 Susy 2 教程 - Shorhand 篇 在前面介绍了Susy2的配置(config)和简写(shorthand)之后,给大家介绍一下Tookit中几个常用的宏,然 ...

  2. 【helloworld】-微信小程序开发教程-入门篇【1】

    1. 开篇导言 本节目标:旨在演示如何用开发者工具构建并运行简单的 helloworld 应用. 目标用户:无编程经验,但对微信小程序感兴趣的同学. 学习目标:开发者工具的基本使用流程,即创建.导入. ...

  3. jQuery LigerUI 使用教程入门篇

    jQuery LigerUI 使用教程入门篇 阅读目录 获取最新代码 ligerUI是什么 如何使用 如何扩展 获取最新代码 可以到http://ligerui.googlecode.com下载最新代 ...

  4. java ligerui_[Java教程]jQuery LigerUI 使用教程入门篇_星空网

    jQuery LigerUI 使用教程入门篇 2012-01-17 0 阅读目录获取最新代码 ligerUI是什么 如何使用 如何扩展 获取最新代码 可以到http://ligerui.googlec ...

  5. 微信小程序教程入门篇

    微信小程序教程入门篇: 微信小程序怎么做?做一个微信小程序要多少钱呢? 作为Z时代,Y时代的我们,做一个微信小程序难道还要去看书学代码吗? 不存在的各位. 现在制作一个微信小程序,只需要动动鼠标键盘, ...

  6. python语言自学教程-3D图示Python标准自学教程入门篇

    内容简介: Python入门篇教程从最基础的计算机发展史.Python的来源与发展历史开始讲起: 依次讲解python变量与表达式.数据类型.运算符.流程控制语句等,末尾通过课堂练习.课后作业以及微型 ...

  7. python自学教程-3D图示Python标准自学教程入门篇

    内容简介: Python入门篇教程从最基础的计算机发展史.Python的来源与发展历史开始讲起: 依次讲解python变量与表达式.数据类型.运算符.流程控制语句等,末尾通过课堂练习.课后作业以及微型 ...

  8. python自学课堂_3D图示Python标准自学教程入门篇

    内容简介: Python入门篇教程从最基础的计算机发展史.Python的来源与发展历史开始讲起: 依次讲解python变量与表达式.数据类型.运算符.流程控制语句等,末尾通过课堂练习.课后作业以及微型 ...

  9. 基于AT89C51教程入门篇一

    51单片机入门篇一之单片机概述 (本文是参考郭天祥老师的教程,用于巩固自我知识,不喜勿喷) 1.1什么是单片机 具备独立处理程序,自带存储器及各种IO口的芯片,叫做单片微型计算机,大陆称之单片机,台湾 ...

最新文章

  1. B-JUI(Best jQuery UI) 前端框架
  2. 我的机器学习入门之路(下)——知识图谱、推荐、广告
  3. sklearn自学指南(part8)--普通最小二乘法
  4. 数学图形之SineSurface与粽子曲面
  5. 为什么仿宋字体打印出楷体_win7缺少仿宋_GB2312和楷体_GB2312字体,造成word字体显示不正常...
  6. 20155330 第十一周课堂练习(20170503)
  7. iOS8以后,跳转到设置页面
  8. 嵌入式学习4--混杂设备驱动
  9. 如何把书上的字弄到电脑
  10. 服务器安装找不到RAID卡驱动,DELL R430安装WINDOWS 2008 R2 RAID卡无驱动之无法识别sas硬盘的解决方法...
  11. python中开方和平方
  12. 在ArduPilot旋翼机上安装PX4Flow光流传感器
  13. win10+django开发项目day03.02
  14. 一行一行读取文件的两种方式
  15. ROK(万国觉醒)服务器卡顿解决方案
  16. OpenAI 发现独特情感神经元,无监督学习系统表征情感取得突破
  17. 【C语言】笔记:输入身份证号,输出出生年月
  18. 基于RabbitMQ 的 Web MQTT插件进行前端消息实时推送
  19. HP1022n网络打印机ip
  20. 自定义textview 下面展示文案上面展示对应拼音 控件

热门文章

  1. java考前速成_【学霸分享】教你考前一周学习速成方法!零基础,学习七天,一次性通过中级会计职称考试秘籍!...
  2. VSCode 官网,下载安装包太慢,将地址中的 az764295.vo.msecnd.net 更换为  vscode.cdn.azure.cn
  3. 百度阿波罗获雅析功能安全产品认证证书
  4. Windows 11数据备份软件怎么选?
  5. 数据结构第二版(朱昌杰版)习题五答案
  6. [已成功破解] 阿里 taobao 滑条验证码 x5sec解密 slidedata参数
  7. jester简介 和 0.8.2版本jar包下载地址
  8. 常用数据分析方法:方差分析及实现!
  9. MAC动态精美壁纸强烈推荐【文末福利】
  10. 信息系统建设评价的粗略方法