sass入門,以及如何高效开发CSS

css语言局限性

众所周知,CSS(层叠样式表)是一个控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。算不上什么编程语言。

Css语言局限性:

  • 无法定义变量。
  • 没有运算概念。
  • 不能明确地指定继承性
  • 没有函数功能以及逻辑程序。

CSS 预处理器是什么?

CSS 预处理器用一种专门的编程语言,进行 Web 页面样式设计,然后再编译成正常的 CSS 文件,可以让你的 CSS 更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸多好处。
解决我们书写 CSS 时难以解决的问题:

  • 语法不够强大,比如无法嵌套书写导致模块化开发中需要书写很多重复的选择器。
  • 没有变量和合理的样式复用机制,使得逻辑上相关的属性值必须以字面量的形式重复输出,导致难以维护。

CSS 预处理器语言

CSS 预处理器技术已经非常的成熟,而且也涌现出了很多种不同的CSS 预处理器语言,比如说:

  • Sass(SCSS)
  • LESS
  • Stylus
  • Turbine
  • Swithch CSS

…….

到目前为止,在众多优秀的 CSS 预处理器语言中就属 Sass、LESS 和 Stylus 最优秀。将着重向大家介绍 CSS 预处理器中的 Scss。

Sass安装环境

Sass依赖于ruby环境,所以装sass之前先确认装了ruby。

打开电脑命令终端,执行命令gem install sass 。

确认自己是否安装 Sass 成功。运行sass –v。如出现以下字段,则表示安装成功。

Sass编译

sass --watch <要编译的Sass文件路径>/style.scss:<要输出CSS文件路径>/style.css

你也可以让SASS监听某个文件或目录,一旦源文件有变动,就自动生成编译后的版本。
   // 监听文件
  sass --watch input.scss:output.css
  // 监听文件夹
  sass --watch app/sass:public/stylesheets

常见编译错误:
常见的一个错误就是字符编译引起的。所以在创建 Sass 文件时,就需要将文件编码设置为“utf-8”。

另外一个错误就是路径中的中文字符引起的。建议在项目中文件命名或者文件目录命名不要使用中文字符。而至于人为失误造成的编译失败,在编译过程中都会有具体的说明,大家可以根据编译器提供的错误信息进行对应的修改。

参考资料:http://www.jianshu.com/p/8b4b27eb698d

Sass的基本特性-变量

变量声明

$fontSize: 12px;

sass 的默认变量仅需要在值后面加上 !default 即可。

$baseLineHeight:1.5 !default;

变量调用

属性名 : 变量名;

font-zize : $fontSize;

全局变量和局部变量

$color: orange !default; //定义全局变量(在选择器、函数、混合宏...的外面定义的变量为全局变量)

.block {
  color: $color;//调用全局变量
}
em {
  $color: red;//定义局部变量
  a {
    color: $color;//调用局部变量
  }
}

上述代码编译出来:

.block {

  color:orange;
}

em  a {

  color: red;

}

Sass的基本特性-嵌套

选择器嵌套

div {  

  hi { 

   color:red; 

  }  

}

编译出的css:

div  h1 {    

  color : red;

}

属性嵌套

.box {
  border: {
    top: 1px solid red;
    bottom: 1px solid green;
  }
}
编译出的css:

.box {
  border-top: 1px solid red;
  border-bottom: 1px solid green;
}

伪类嵌套

.clearfix {
  &:before,
  &:after {
    content:"";
    display: table;
  }
  &:after {
    clear:both;
    overflow: hidden;
  }

}

编译出css:

clearfix:before, .clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
  overflow: hidden;
}

时间: 2024-10-26 08:13:04

sass入門,以及如何高效开发CSS的相关文章

CSS高效开发实战:CSS 3、LESS、SASS、Bootstrap、Foundation --读书笔记(1)设定背景图

技术的新发展,除计算机可以接入互联网之外,平板电脑.智能手机.智能电视等其他设备均可访问互联网.在多设备时代,构建多屏体验也不是听说的那么难. 但是这也增加了学习CSS的难度?不知道如何上手,只懂一点基础的CSS语法,在移动互联时代,难道我们就这样落伍了??好好学习吧,看完<CSS高效开发实战:CSS 3.LESS.SASS.Bootstrap.Foundation>,给自己的未来打气! 5.1  设定背景图的大小 在CSS 3出现之前,背景图片的尺寸是由图片的实际尺寸决定的.如果同样的图片要

Net 高效开发

Net 高效开发之不可错过的实用工具 工欲善其事,必先利其器,没有好的工具,怎么能高效的开发出高质量的代码呢?本文为各ASP.NET 开发者介绍一些高效实用的工具,涉及SQL 管理,VS插件,内存管理,诊断工具等,涉及开发过程的各个环节,让开发效率翻倍. Visual Studio Visual Studio Productivity Power tool: VS 专业版的效率工具. Web Essentials: 提高开发效率,能够有效的帮助开发人员编写CSS, JavaScript, HTM

《Python高效开发实战:Django、Tornado、Flask、Twisted》PDF+源码

Python高效开发实战 链接:https://pan.baidu.com/s/1udqe8V2QSh0CMTVg2vEblQ  提取码:igo0 ? 作者: 刘长龙出版社: 电子工业出版社出版年: 2016-10页数: 516定价: 89装帧: 平装ISBN: 9787121300103 内容简介  · · · · · · 也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模.通用网络协议.后端并发处理.前端界面设计,在学术研究或工程项目上能独当一面.通过对Python及其周边Web框

HTML兼容问题及高效开发工具

兼容问题及高效开发工具 1.兼容性测试工具 ①.IE Tester ②.Multibrowser 2.常用的浏览器 ①.Google chrome ②.Firefox ③.opera 3.高效的开发工具 ①.轻量级的: 1.Notepad++ 2.sbulime Text 3.记事本 ②.重量级的 1.WebStorm 2.Dreamweaver 4.网页设计工具 ①.fireworks ②.photoshop 5.判断IE的方法 注意:条件注释只有在IE浏览器下才能执行,这样就达到了我们的效果

高效的CSS代码(2)

——阅读笔记,欢迎纠错^_^ 内容比较零散..... 1.让浮动元素的父容器根据元素的高度而自适应高度的方法: <div class="clearfix"><div class="fl"></div></div> /*意思就是最外面的一层<div></div>是父容器,给他加上清除浮动的功能,clearfix的代码再高效的CSS代码(1)中有*/ 2.再写代码前不是要先分析一下页面的模块吗,模块

Delphi APP 開發入門(四)簡易手電筒

Delphi APP 開發入門(四)簡易手電筒 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次數:3297 發表時間:2014/05/30 tags: 行動開發 教學 App Delphi XE6 Android iOS 上週教各位製作簡易的計算機後,本週要繼續教大家製作簡易手電筒.讀者可能會發現,筆者在撰寫的前四篇文章中除了前二篇的安裝.設定後,後二篇都是簡易的APP教學.或許有朋友會想,如果APP開

Delphi APP 開發入門(六)Object Pascal 語法初探

Delphi APP 開發入門(六)Object Pascal 語法初探 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次數:3442 發表時間:2014/06/10 tags: 行動開發 教學 App Delphi XE6 Android iOS Delphi APP 開發入門(五)GPS 定位功能 << 前情 經過前面五週幾乎每週可以寫出一個簡單App後,大家都可以感受到Delphi強大的開發威力!

Delphi APP 開發入門(二)Android/iOS設定,Hello World

Delphi APP 開發入門(二)Android/iOS設定,Hello World 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次數:9047 發表時間:2014/05/12 tags: 行動開發 教學 App Delphi XE6 Android iOS 上一期 讓大家認識Delphi以及安裝後,今天要教大家設定Delphi在Android與iOS的開發環境,並且教大家透過寫出第一個Hello W

Delphi APP 開發入門(一)重生的 Delphi

Delphi APP 開發入門(一)重生的 Delphi 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次數:10312 發表時間:2014/05/06 tags: 行動開發 教學 App Delphi XE6 簡介 Delphi算是開發工具界的老將,從1995年以VCL(Visual Component Library)可視元件架構搭配視覺化開發環境開始嶄露頭角.而在Windows98問世後,推出成熟穩