sass01
Chrome --流行的浏览器,及前端开发调试工具
WebStorm --强大的跨平台前端集成开发环境
Sublime Text --神器级别的代码编辑器,如vim般强大,而上手难度极低。
---------------------------------------
为什么需要CSS预处理器? 如果最终生成的是CSS代码,为什么不干脆写CSS? 为什么使用Sass?
使用变量
自动转换RGBA颜色值
忘记浏览器前缀
嵌套规则
media query更简单
自动压缩CSS http://sass-lang.com/ CSS并不能算是一门真正意义上的“编程”语言,无法完成嵌套、继承、设置变量等工作 解决CSS的不足,开发者想到了编写一种对css进行预处理的“中间语言”
------------------------------------
Sass是css的预处理器,Compass是Sass的工具库。
Sass是css3的扩展方向。
在Sass的基础上封装了一系列有用的模块和模板,补充Sass的功能
Compass与Sass的关系类似于jQuery与JavaScript的关系 -----------------
compass、sass安装
http://compass-style.org/install/
https://www.sass.hk/install/
基于rubby语言,安装rubby
https://rubyinstaller.org/downloads/
rubby安装后gem看安装是否成功,如果不成功把C:\Ruby22\bin加入环境变量path,
gem install compass 安装不成功 使用 https://github.com/ruby-china/Ruby China 官方搭建的 RubyGems 镜像网站,此仓库是服务器源代码:http://sh0.gems.ruby-china.org 就能安装compass了。
https://ruby.taobao.org/已经不再维护了。 compass依赖sass,安装conpass就会安装sass, -----------------
Sass:
现在兼容css语法,强大的库,Sass是对CSS(层叠样式表)的语法的一种扩充,诞生于2007年,最早也是最成熟的一款CSS预处理器语言,它可以使用变量、常量、嵌套、混入、函数等功能,可以更有效有弹性的写出CSS。Sass最后还是会编译出合法的CSS让浏览器使用,也就是说它本身的语法并不太容易让浏览器识别,因为它不是标准的CSS格式,在它的语法内部可以使用动态变量等,所以它更像一种极简单的动态语言。
Sass已经有了两套语法规则:一个依旧是用缩进作为分隔符来区分代码块的;另一套规则和CSS一样采用了大括号({})作为分隔符。后一种语法规则又名SCSS,在Sass3之后的版本都支持这种语法规则。
Less:
人气最高,最先兼容css语法,是最大的预处理器,
2009年开源的一个项目,受Sass的影响较大,但又使用CSS的语法,让大部分开发者和设计师更容易上手。LESS提供了多种方式能平滑的将写好的代码转化成标准的CSS代码,在很多流行的框架和工具中已经能经常看到LESS的身影了。
其实LESS是Alexis Sellier受Sass的影响创建的一个开源项目。当时SASS采用了缩进作为分隔符来区分代码块,而不是CSS中广为使用的大括号({})。为了让CSS现有的用户使用起来更佳方便,Alexis开发了LESS并提供了类似CSS的书写功能。
Stylus:
Stylus,2010年产生,来自于Node.js社区,主要用来给Node项目进行CSS预处理支持,在此社区之内有一定支持者,在广泛的意义上人气还完全不如Sass和LESS。 Stylus被称为是一种革命性的新语言,提供一个高效、动态、和使用表达方式来生成CSS,以供浏览器使用。Stylus同时支持缩进和CSS常规样式书写规则。 ---------------------- 1、Sass需要安装Ruby,然后通过gem安装sass 2、Less有两种安装方式:
客户端安装:引入less.js,然后就可以直接使用.less文件
<link rel="stylesheet/less" type="text/css" href="文件路径/styles.less">
<script src="文件路径/less.js" type="text/javascript"></script> 服务器安装:先安装node,然后使用npm安装less。
3、Stylus的安装类似于Less的服务端安装,用npm安装。
---------------------------
1、三者都是开源项目;
2、Sass诞生是最早也是最成熟的CSS预处理器,有Ruby社区和Compass支持;Stylus早期服务器Node JS项目,在该社区得到一定支持者;LESS出现于2009年,支持者远超于Ruby和Node JS社区;
3、Sass和LESS语法较为严谨、严密,而Stylus语法相对散漫,其中LESS学习起来更快一些,因为他更像CSS的标准;
4、Sass和LESS相互影响较大,其中Sass受LESS影响,已经进化到了全面兼容CSS的SCSS;
5、Sass和LESS都有第三方工具提供转译,特别是Sass和Compass是绝配;
6、Sass、LESS和Stylus都具有变量、作用域、混合、嵌套、继承、运算符、颜色函数、导入和注释等基本特性,而且以“变量”、“混合”、“嵌套”、“继承”和“颜色函数”称为五大基本特性,各自特性实现功能基本相似,只是使用规则上有所不同;
7、Sass和Stylus具有类似于语言处理的能力,比如说条件语句、循环语句等,而LESS需要通过When等关键词模拟这些功能,在这一方面略逊一层;
---------------------------------
------------------------------------------------
sass:
h1
color:red;
//变量定义
$color:red;
//嵌套
body{
head{
}
section{
}
}
------------------------------------------------
scss:
h1{
color:red;
}
//变量定义
$color:red;
//嵌套
body{
head{
}
section{
}
}
//函数
@mixin alert($color:blue){//blue是默认值
color:$color;
}
//继承
.block{
margin:10px;
padding:5px;
}
p{
@extend .block;
}
------------------------------------------------
less:
h1{
color:red;
}
//变量定义
@color:red;
//嵌套
body{
head{
}
section{
}
}
//函数
.alert(@color:blue){//blue是默认值
color:@color;
}
//继承
.block{
margin:10px;
padding:5px;
}
p{
.block;
}
------------------------------------------------
Stylus:
h1{
color:red;
}
h1
color:red;
h2
color red;
//变量定义
$color:red;
color:red;
//嵌套
body{
head{
}
section{
}
}
//函数
alert($color = blue){//blue是默认值
color:$color;
}
//继承
.block{
margin:10px;
padding:5px;
}
p{
@extend .block;
}
sass01的更多相关文章
随机推荐
- React 第二天
第二天 01 关于Vue和React中key的作用 在循环的时候一定要为组件加key 02关于jsx语法的注意事项 jsx中的注释 {/* */} class要写成className label标签 ...
- HDU-2222 Keywords Search 字符串问题 AC自动机
题目链接:https://cn.vjudge.net/problem/HDU-2222 题意 给一些关键词,和一个待查询的字符串 问这个字符串里包含多少种关键词 思路 AC自动机模版题咯 注意一般情况 ...
- 如何绑定host
绑定host一般分为windows和linux下两种情况. windows下,首先打开host文件,其操作步骤 ,打开 C:\Windows\System32\Drivers\etc\hosts的文件 ...
- java String字符串操作 字符串加密等
子串加密 1,设计思想 (1)输入一个字符串 (2)通过toCharArray()的方法将字符串转换成字符数组 (3)新建一个字符数组用来存储修改后的字符数组 2,程序流程图 3,源代码 packag ...
- 启动bind时报none:0: open: /etc/named/named.conf: file not found
刚一看,以为是说named.conf文件不存在或权限不够,但仔细查了一下后发现的确在啊,权限改为777也不行.无奈!先查了一下/etc/init.d/named文件里,是在执行/usr/local/n ...
- Tomcat连HBase报错: HTTP Status 500 - java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext
Tomcat中连接HBase数据库,启动的时候报错: HTTP Status 500 - java.lang.AbstractMethodError: javax.servlet.jsp.JspFac ...
- c++_benchMark_vector_list_deque
title: c++_benchMark_vector_list_deque date: 2015-08-01 22:32:39 作者:titer1 + ZhangYu 出处:www.drysalte ...
- js php 数组比較
php 与 javascript 数组除了定义以及 操作上有非常大的差别,还有非常多其他的差别.如今我们就来讨论讨论. 1.大家都知道php比較两个数组是否全相等(值,索引)相等 $a=arra ...
- MongoDB查询、索引和聚合
初始化mongodb数据库 > use deng switched to db deng > db.createCollection("jingdong") #无參数 ...
- 【Android进阶篇】Fragment的两种载入方式
一.概述 Fragment(碎片,片段)是在Android 3.0后才引入的,基本的目的是为了实如今大屏幕设备上的更加动态更加灵活的UI设计. 这是由于平板电脑的屏幕比手机大得多,所以屏幕上能够放很多 ...