scss可视化工具:http://koala-app.com/index-zh.html

scss讲解地址:http://www.cnblogs.com/adine/archive/2012/12/18/2823669.html

官网:http://sass-lang.com/

less,scss区别:

http://www.kuqin.com/language/20120325/319416.html

安装环节

1.  安装rubyinstaller-2.0.0-p481-x64.exe一直next

2.  安装完成后开始菜单中找到ruby里的这哥,打开命令提示框

3.  使用gem install sass安装sass, gem install compass安装compass(sass大哥插件,练熟sass后再研究)

编译环节

SASS文件就是普通的文本文件,里面可以直接使用CSS语法。文件后缀名是.scss,意思为Sassy CSS。

下面的命令,可以在屏幕上显示.scss文件转化的css代码。(假设文件名为test。)

sass test.scss

如果要将显示结果保存成文件,后面再跟一个.css文件名。

sass test.scss test.css

SASS提供四个编译风格的选项:

* nested:嵌套缩进的css代码,它是默认值。

* expanded:没有缩进的、扩展的css代码。

* compact:简洁格式的css代码。

* compressed:压缩后的css代码。

生产环境当中,一般使用最后一个选项。

sass --style compressed test.sass test.css

你也可以让SASS监听某个文件或目录,一旦源文件有变动,就自动生成编译后的版本。

// watch a file

sass --watch input.scss:output.css

// watch a directory

sass --watch app/sass:public/stylesheets

$color_333:#333333;
$line_height24:24px;

.text{                                                
line-height:$line_height24;
margin:$line_height24/2;
color:$color_333;
}

.bg{
background:$color_333;
}

/*编译结果*/

@charset "GBK";
.text {
line-height: 24px;
margin: 12px;
color: #333333; }

.bg {
background: #333333; }

.container{
color:#ccc;
h1{ font-size:18px;}
ul{
position:relative;
margin-top:15px;
li{
background:#ddd;
}
}
}

/*编译结果*/

.container {
color: #ccc; }
.container h1 {
font-size: 18px; }
.container ul {
position: relative;
margin-top: 15px; }
.container ul li {
background: #ddd; }

@mixin float{
.clear{
clear:both;
}
.left{
clear:left;
}
.right{
clear:right;
}
}

div{
@include float
}

@mixin rounded-corners ($radius: 5px) {
border-radius: $radius;
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
} #header {
@include rounded-corners;
}
#footer {
@include rounded-corners(11px);
}

/*编译结果*/

div .clear {
clear: both; }
div .left {
clear: left; }
div .right {
clear: right; }

#header{
border-radius:5px;
-webkit-border-radius:5px;
-moz-border-radius:5px;
}
#footer{
border-radius:11px;
-webkit-border-radius:11px;
-moz-border-radius:11px;
}

/*继承*/
.relative{
display:block;
position:relative;
}
.title{
@extend .relative;
font-size:18px;
color:#fff;
}

/*编译结果*/

.relative, .title {
display: block;
position: relative; }

.title {
font-size: 18px;
color: #fff; }

/*混合运算*/

$selector_name:'clear';
@mixin clearfix{
#{$selector_name}{
color:red;
}
}

body{
@include clearfix;
}

/*编译结果*/

body clear {
color: red; }

/* 加减乘运算 */
$the-border:1px;
$base-color:#111;
$red:#842210;

#header{
color:$base-color*3;
border-left:$the-border;
border-right:$the-border*2;
}
#footer{
color:$base-color+#003300;
border-color:desaturate($red,10%);
}

/*编译结果*/

#header {
color: #333333;
border-left: 1px;
border-right: 2px; }

#footer {
color: #114411;
border-color: #7d2717; }

/* 作用域 */
$color_11: #00c; /* 蓝色 */
#header_11 {
$color_11: #c00; /* red */
border: 1px solid $color_11; /* 红色边框 */
}
#footer_11 {
border: 1px solid $color_11; /* 蓝色边框 */
}

/*编译结果*/

/* 蓝色 */

#header_11 {
/* red */
border: 1px solid #cc0000;
/* 红色边框 */ }

#footer_11 {
border: 1px solid #cc0000;
/* 蓝色边框 */ }

@for $i from 1 to 10 {
.border-#{$i} {
border: #{$i}px solid blue;
}
}

/*编译后的结果*/

.border-1 {
border: 1px solid blue;
}

.border-2 {
border: 2px solid blue;
}

.border-3 {
border: 3px solid blue;
}

.border-4 {
border: 4px solid blue;
}

.border-5 {
border: 5px solid blue;
}

.border-6 {
border: 6px solid blue;
}

.border-7 {
border: 7px solid blue;
}

.border-8 {
border: 8px solid blue;
}

.border-9 {
border: 9px solid blue;
}

.scss写法及如何转化为.css的更多相关文章

  1. sql里的in对应linq的写法 及 IQueryable转化为Dictionary

    string[] arID = { "0001", "0002" }; var dict = this.service.GetMyList(m => ar ...

  2. 三言两语之简单上手sass

    背景:   初次接手公司的项目,虽然之前草草的看过一些sass的基础知识,但是因为久未征战,知识也早已随风飘散,现在小复习一下记下一些常识中的重点..sass是使用ruby写的,所以使用前请先确保自己 ...

  3. WebStorm 9 自动编译 SCSS 产出 CSS 和 source maps

    1.  上一节我们学习了Windows下搭建Ruby开发环境,也为这一节的学习做了铺垫.因为本节需要在Ruby环境下安装SASS.详细请见:http://www.cnblogs.com/wind128 ...

  4. CSS各个浏览器Hack的写法

    Hack是针对不同的浏览器去写不同的CSS样式,从而让各浏览器能达到一致的渲染效果,那么针对不同的浏览器写不同的CSS CODE的过程,就叫CSS HACK,同时也叫写CSS Hack.然后将Hack ...

  5. 安装Ruby、Sass在WebStrom配置Scss编译环境css自动压缩

    安装Sass和Compass sass基于Ruby语言开发而成,因此安装sass前需要安装Ruby.(注:mac下自带Ruby无需在安装Ruby!) window下安装SASS首先需要安装Ruby,先 ...

  6. 脱离脚手架来配置、学习 webpack4.x (二)基础搭建loader 配置 css、scss

    序 上一篇已经把基本架子搭起来了,现在来增加css.scss.自动生成html.css 提前等方面的打包.webpack 默认只能处理js模块,所以其他文件类型需要做下转换,而loader 恰恰是做这 ...

  7. webpack4.x 从零开始配置vue 项目(二)基础搭建loader 配置 css、scss

    序 上一篇已经把基本架子搭起来了,现在来增加css.scss.自动生成html.css 提取等方面的打包.webpack 默认只能处理js模块,所以其他文件类型需要做下转换,而loader 恰恰是做这 ...

  8. css预处理器sass使用教程(多图预警)

    css预处理器赋予了css动态语言的特性,如变量.函数.运算.继承.嵌套等,有助于更好地组织管理样式文件,以及更高效地开发项目.css预处理器可以更方便的维护和管理css代码,让整个网页变得更加灵活可 ...

  9. 前端scss的使用及gulp发布方式

    如标题所述,这篇博文是说scss以及gulp发布方式: 如果你没用过scss和gulp或不甚了解,你可以看看这篇博文,叙说的水平有限,各位看官大神见谅: 说scss之前,先来说说sass,sass是一 ...

随机推荐

  1. transform: translateY(-50%) 实现元素垂直居中效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 1057 N的阶乘

    1057 N的阶乘 基准时间限制:1 秒 空间限制:131072 KB 输入N求N的阶乘的准确值. Input 输入N(1 <= N <= 10000) Output 输出N的阶乘 Inp ...

  3. tableView中自定header视图的重用问题

    在UItableView中使用代理方发 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger ...

  4. c#中如何将一个string数组转换为int数组

    举个例子. string[] strArray = "a,b,c,d,e,f,g".Split(new char[]{ ',' }); int[] intArray; //C# 3 ...

  5. RTSP 协议分析

    RTSP 协议分析1.概述: RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学.网景和RealNetwor ...

  6. block 反向传值回调

    /** *  block 反向传值回调 */ //在第二个控制器中 //   (1)声明block,在基类中已写好 //   (2)写好传值方法 //(1) typedef void (^Return ...

  7. Linux上使用SMART检测硬盘

    SMART(Self-Monitoring, Analysis, and Reporting Technology)是一种普及度比较高的磁盘分析检测工具,磁盘运行过程中,该工具搜集磁盘的状态参数,如型 ...

  8. Java学习-015-CSV 文件写入实例源代码

    在日常的自动化测试脚本编写的过程中,有时要将获取的测试结果或者测试数据存放在数据文件中,以用作后续的参数化测试.常用的文件文件类型无非 txt.csv.xls.properties.xml 这五种文件 ...

  9. 【转】Android绘制View的过程研究——计算View的大小

    Android绘制View的过程研究——计算View的大小 转自:http://liujianqiao398.blog.163.com/blog/static/18182725720121023218 ...

  10. 【转】为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?

    为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment? 转自:http://www.apkbus.com/android- ...