sass,compass让开发效率飞起

最近开始学习并且使用,发现使用它写起css来真的是各种爽

安装sass,compass

  1. sass是依赖于ruby的,必须先安装Ruby,点击下载
  2. 下载完ruby之后,使用命令行安装sass        gem install sass
  3. 使用命令,sass-v    compass-v   查看是否安装成功

   出现上图情况则为安装成功


sass的使用及优点

  • sass官网: http://www.w3cplus.com/sassguide/
  • sass功能:

定义变量,数值计算(左边为scss文件,右边为编译之后的css文件)

方便知道谁是谁的子元素,不必写一大堆重复的标签

还可以像函数一样使用,可以传参数,可以设置默认参数

这还远远不够,如果sass不和compass一起使用,很难体现它功能的强大性

compass的使用

1.官方文档 http://compass-style.org/help/tutorials/production-css/

2.compass的特性

  • 轻松实现浏览器兼容
  • 全面支持css3
  • 提供海量使用功能,颜色处理,获取客户端数据等
  • 轻松实现扩展

3.常用功能:

 [email protected](合并css文件,实现模块化)

可以将项目中的各部分样式拆分成 _head.scss,_body.scss,_foot.scss    (注意!要以_开头,这样子这些文件便不会被编译成css文件)

实现效果

使用方法,在main.scss中,加入以下代码

1 @import "base/head";
2 @import "base/body";
3 @import "base/foot";

执行编译,即可实现

2.css3兼容性

      

无需每次都重复写多个浏览器前缀,只需在前面写上 @include  (这里用正常的css3方式写)

3.合并雪碧图

说明:CSS雪碧图是将几个图片拼合成一张图片,以此来减少HTTP请求的方法,并且可以提升网站加载速度

目录结构如下:share目录下放未经合并的图片,在images目录下的图片即为合并之后的图片

使用方法:

在share.scss中输入以下3行代码

1 @import "compass/utilities/sprites";
2 @import "share/*.png";       //注意这里的路径,*表示匹配所有png格式的图片
3 @include all-share-sprites;   //中间的share为存放未合并文件的目录名字,

再执行编译即可,效果图如下,随便测试的,有点丑嘿嘿

并且,在share.css文件中,还将图片的位置都计算好了,使用起来非常的方便,如下

出现过的bug:

1 error sass/screen.sccc (c:/Ruby22-x64/lib/ruby/gems/2.2.0/compass-1.0.3/lib/compass/sass_extensions/functions/sprite.rb:137:in ‘sprite_does_not_have_parent‘:undefined ‘parent‘ for nil:NilClass)

解决方法:    图片名字,不要有数字,中文之类的

4.浏览器Normalize.css(解决各种浏览器样式不统一的问题)

(1)说明:Normalize.css是一种CSS reset的替代方案。

(2)优点:

  • 保护有用的浏览器默认样式而不是完全去掉它们
  • 一般化的样式:为大部分HTML元素提供
  • 修复浏览器自身的bug并保证各浏览器的一致性
  • 优化CSS可用性:用一些小技巧
  • 解释代码:用注释和详细的文档来

(3)官方文档 https://github.com/ksmandersen/compass-normalize

(4)安装    gem install compass-normalize

(5)使用方法

  • 新创建一个项目

compass create <my_project> -r compass-normalize --using compass-normalize

  • 在已经存在的项目添加

在config.rb 中添加    require‘compass-normalize‘

  • 使用规范化的插件,只需要引入     @import "normalize"; //这个为全部引入

 正常情况下是选择需要的模块,单独引入,防止代码冗余,如下

1 @import ‘normalize/html5‘;
2 @import ‘normalize/base‘;
3 @import ‘normalize/links‘;
4 @import ‘normalize/typography‘;
5 @import ‘normalize/embeds‘;
6 @import ‘normalize/groups‘;
7 @import ‘normalize/forms‘;
8 @import ‘normalize/tables‘;

scss编译,compass编译

说了这么多,还差编译

1.使用可视化工具编译      例如:koala   (实时编译,可压缩,支持多语言,使用简单)

下载地址,点击下载

2.使用命令行

创建一个工程       compass create myproject  点击进入创建的目录,出现以下3个文件

编译        compass compile   (在项目根目录下使用,将sass目录中的文件编译成css,css的路径为在config.rb配置的css-dir)

常用命令行如下

3.使用前端自动化工具 gulp

(接下来会写一篇gulp的文章,未完待续)

时间: 2024-10-31 01:31:53

sass,compass让开发效率飞起的相关文章

sass &amp; compass 实战录

一.sass 是什么 Css的一种预处理器 是基于css进行语法扩展而成 主要目的是为了提高开发效率,弥补css语法不足的缺陷 同样流行的预处理器还有:less.stylus 二.SASS的基本语法 变量 以$开头的变量,类似于php中变量的概念 $dark = #000; a {color: $dark;} // a {color: #000} 嵌套(包括选择器的嵌套) 嵌套是对css花括号语法的扩展,使得写css就像写dom一样层级分明. ul {max-width: 1200px;marg

译:Grunt编译sass&amp;compass和压缩js的工作流程

原文:Grunt workflow for compiling Sass & Compass and minifying Javascript 以前,我们安装Node,NPM和Grunt还包括建立的一个package.json文件和一个Gruntfile文件.在这篇让人兴奋的文章中,我们将会填补一切,你会领会到Grunt是多么的让人吃惊,体验一下他让人敬畏的力量,就像慵懒的沐浴在温暖的阳光下一样让人满意. 如果你还没有安装Node,NPM和Grunt 那就需要先安装好这些东西(真的不难也不可怕)

7招提升你的前端开发效率

7招提升你的前端开发效率 前言 前端工程师其实是一个工作很杂的职位,除了要负责切图.写html/css/js外,还要解决一系列的浏览器兼容性.网页性能优化等问题,所以提高前端工程师的开发效率是势在必行的,也是前端工程化的体现. 对于开发效率,我个人理解是 开发效率 = 新增代码的效率 + 修改代码的效率 + 维护代码的效率 那么如何提高前端开发效率便可以按照前端工程化的理念来进行划分.下面我就介绍下7个提高前端开发效率的方法. 前端工程化 方法 1.切图 切图是一个前端最基础的技能,一般我们使用

Android Studio添加Parcelable序列化小工具(快速提高开发效率)

Android Studio添加Parcelable序列化小工具(快速提高开发效率) Android Studio是google专门为开发Android提供的开发工具,在它内部可以直接的添加一些非常好用的开发小工具,这里就讲解怎样添加这些小工具,并且向大家推荐一个非常有用的对象传递时,必须要把对象序列化的接口Parcelable小工具; 这里先介绍下 Android中实现序列化的两个选择:一是实现Serializable接口(是JavaSE本身就支持的),一是实现Parcelable接口(是An

开发效率必备之Mac双屏显示

自从2015年9月苹果发布EI Captain,带来了一个新的功能,叫做分屏,也就是在一块屏幕上分成左右两部分,可以分别进行操作,互不影响.如下图所示: . 但是这个功能我玩了几天之后,发现很鸡肋.比如我用的是13寸Macbook pro ,屏幕本身就已经很小了,再设置成左右两块屏幕,这让我怎么工作?经过我测试后,发现Xcode并不支持这样的分屏操作.现在我已经完全抛弃这个功能了. 对于我们程序员来说,真正需要的是双屏,也就是再外接一台显示器.比如我使用的就是13寸Macbook pro,外接了

atitit.提升开发效率---MDA 软件开发方式的革命(4)----编辑表单建模

atitit.提升开发效率---MDA 软件开发方式的革命(4)----编辑表单建模 1. 建模语言的选型anno+html...不是uml 1 2. 指定显示模板 @BeanEditForm(tmplt="c:/edit.html") 1 3. 配置属性的@Property(lable="xxx")显示 2 4. 配置属性的显示控件方式@DataType(value=DataTypeConstants.select,datasource="c:/cate

Atitit 项目管理 提升开发效率的项目流程方法模型 哑铃型 &#160;橄榄型 直板型

Atitit 项目管理 提升开发效率的项目流程方法模型 哑铃型  橄榄型 直板型 项目主体三个部分 ui界面,中间层,数据库 按照不同的比重可以分为一下三个模型  哑铃型  橄榄型 直板型 哑铃型 开发效率更高,性能反之 ,ui和数据库层比较大,中间的接口层比较薄弱 直板型 橄榄型,追求性能型..中间打,俩偷笑 从语言看ui 界面h5是dsl 4gl+js  3.5gl....数据库是sql ,dsl  4gl 语言代际比较高.带来更高的开发效率性... 作者:: 绰号:老哇的爪子claw of

提升前端开发效率

7招提升你的前端开发效率 前言 前端工程师其实是一个工作很杂的职位,除了要负责切图.写html/css/js外,还要解决一系列的浏览器兼容性.网页性能优化等问题,所以提高前端工程师的开发效率是势在必行的,也是前端工程化的体现. 对于开发效率,我个人理解是 开发效率 = 新增代码的效率 + 修改代码的效率 + 维护代码的效率 那么如何提高前端开发效率便可以按照前端工程化的理念来进行划分.下面我就介绍下7个提高前端开发效率的方法. 前端工程化 方法 1.切图 切图是一个前端最基础的技能,一般我们使用

sass+compass起步

前言:Sass is an extension of CSS that adds power and elegance to the basic language. It allows you to use variables, nested rules, mixins, inline imports, and more, all with a fully CSS-compatible syntax. Sass helps keep large stylesheets well-organize