coffeescript html5,HTML5——前端预处理技术(Less、Sass、CoffeeScript)

一、Less

1.1、概要

Less是一种动态样式语言,Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展。

Less 将 CSS 赋予了动态语言的特性,如 变量, 继承, 运算, 函数。LESS 既可以在 客户端 上运行 (支持IE 6+, Webkit, Firefox),也可以借助Node.js或者Rhino在服务端运行。 Less是一个JS库,所以他可以在客户端运行,相对Sass则必须在服务端借助Ruby运行

1.2、变量

语法:@变量名:值;

1)[email protected],变量名由字母、数字、_和-组成

2)、没有先定义后使用的规定;

3)、以最后定义的值为最终值;

4)、可用于rule值、rule属性、rule属性部件、选择器、选择器部件、字符串拼接;

5)、定义时 "@变量名: 变量值;" 的形式;引用时采用 "@变量名" 或 "@{变量名}" 的形式;

6)、存在作用域,局部作用域优先级高于全局作用域。

@color: #4d926f;

#header{color:@color; }#header{color:#4d926f; }@color: #253636;

@color: #ff3636; //覆盖第一次的定义

#header{color:@color;}//多次反复解析

#header{color:#ff3636;}

编译后:

#header{color:#ff3636;

}#header{color:#4d926f;

}#header{color:#ff3636;

}#header{color:#ff3636;

}

方法:使用工具软件

能够翻译Less的工具软件有不少,这里介绍:Koala

Koala是一个开源的预处理语言图形编译工具,目前已支持Less、Sass、Compass与CoffeeScript。

功能特性:

多语言支持: 支持Less、Sass、Compass与CoffeeScript。

实时监听与编译: 在后台监听文件的变动,检测到文件被修改后将自动进行编译。

编译选项支持: 可以设置与自定义你需要的编译选项。

压缩支持: Less、Sass可直接编译生成压缩后的css代码。

错误提示: 编译中如果遇到错误,Koala将在右下角提示并显示出具体的出错地方,方便开发者快速定位。

跨平台: Windows、Mac、Linux完美支持。

安装Koala

在Koala官网根据你的系统平台下载对应的版本。Linux系统要求已安装好ruby运行环境。

c8a057ffe165e7536c7a8d48649746b3.png

注意:路径中不要使用中文,切记!

二、Sass(比less好用)

Sass与Less类似类似也是一种CSS的预编译语言,他出现的更晚,但功能更加强大,Sass 有两种语法。 第一种被称为 SCSS (Sassy CSS),是一个 CSS3 语法的扩充版本;第二种比较老的语法成为缩排语法(或者就称为 "Sass"), 提供了一种更简洁的 CSS 书写方式特点如下:

特点:

1)、不能直接在页面中解析,需要使用ruby预先翻译成css文件,而Less可以在线动态翻译。

2)、Sass功能更加强大,拥有流控语句等Less不具备的功能

3)、完全兼容 CSS3,在 CSS 语言基础上添加了扩展功能,比如变量、嵌套 (nesting)、混合 (mixin)

在使用时Sass的后缀名为scss,本文全部使用scss的语法,可以安装Koala直接解析,不需要去搭建ruby环境,Koala已封装好。

2.1、变量

sass中可以定义变量,方便统一修改和维护

Sass代码:

/*变量*/$width:1004px;

$color:blue;

.cls11{width:$width;height:$width/2;background:$color;

}$width:100px;

$color:red;

.cls12{$color:green;width:$width;height:$width/2;background:$color;

}

编译后:

.cls11{width:1004px;height:502px;background:blue; }.cls12{width:100px;height:50px;background:green; }

2.2、嵌套

sass可以进行选择器的嵌套,表示层级关系,看起来很优雅整齐。

Sass代码:

.cls21{width:100px;.cls22{

height:200px;

}.cls23{color:blue;

}}

编译后:

.cls21{width:100px;

}.cls21 .cls22{height:200px;

}.cls21 .cls23{color:blue;

}

2.4、mixin 混入

sass中可用mixin定义一些代码片段,且可传参数,方便日后根据需求调用。从此处理css3的前缀兼容轻[email protected],[email protected]

SCSS样式:

@mixin circle($size:100px,$color:lightblue){width:$size;height:$size;border-radius:$size/2;background:$color;

}.cls41{@include circle();}.cls42{@include circle(150px);}.cls43{@include circle(200px,lightgreen);}

编译后:

.cls41{width:100px;height:100px;border-radius:50px;background:lightblue;

}.cls42{width:150px;height:150px;border-radius:75px;background:lightblue;

}.cls43{width:200px;height:200px;border-radius:100px;background:lightgreen;

}

2.5、扩展/继承

SCSS样式:

.state{background:blue;border:1px solid lightblue;

}.success{@extend .state;

background:green;

}.error{@extend .state;

border:2px solid red;

}

CSS样式:

.state,

.success,

.error{background:blue;border:1px solid lightblue;

}.success{background:green;

}.error{border:2px solid red;

}

2.7、函数

sass中集成了大量的颜色函数,让变换颜色更加简单。

SCSS样式:

$pcolor: #999ccc;

.cls71 a{color:$pcolor;&:hover {

background: darken($pcolor,15%);

/*变暗15%*/color:lighten($pcolor,5%);

/*变亮5%*/

}

编译后:

.cls71 a{color:#999ccc;

}.cls71 a:hover{background:#666bb3;color:#aaacd5;

}

2.8、流程控制

sass中和其它程序语言一样也拥有流程控制语句,如if,for,each,while,指令,函数等。

SCSS样式:

$blur: lightblue;

@for $i from 1 through 10{.font-#{$i} {

/*计算字体大小*/font-size:12px+$i*2px;

/*颜色变暗*/color:darken($blur,$i*2);

/*如果i是3的倍数,则下划线*/@if $i%3==0 {

text-decoration:underline;

}}

}

CSS样式:

/*8*/.font-1{font-size:14px;color:#a5d4e4; }.font-2{font-size:16px;color:#9dd1e1; }.font-3{font-size:18px;color:#96cddf;text-decoration:underline; }.font-4{font-size:20px;color:#8ec9dc; }.font-5{font-size:22px;color:#86c5da; }.font-6{font-size:24px;color:#7ec2d8;text-decoration:underline; }.font-7{font-size:26px;color:#76bed5; }.font-8{font-size:28px;color:#6ebad3; }.font-9{font-size:30px;color:#67b7d1;text-decoration:underline; }.font-10{font-size:32px;color:#5fb3ce; }

三、CoffeeScript

javascript变得日益重要,但有很多明显的缺点,借助一种中间语言转译出优雅的javascript是解决这些问题的方法。如CoffeeScript,TypeScript。

Coffee Script是JavaScript的转译语言。

Coffee的特点:

CoffeeScript语法类似 Ruby ,可以被编译成 JavaScript

CoffeeScript取JavaScript之精华,而抛弃了诸如全局变量声明、with等容易出错的部分

CoffeeScript是JavaScript与程序员之间的桥梁,程序员看到的是优雅的CoffeeScript接口,使得编程更简洁,写法更随意

更少,更紧凑,和更清晰的代码

通过规避和改变对JavaScript中不良部分的使用,只留下精华,让代码减少出错率,更容易维护

在很多常用模式的实现上采用了JavaScript中的最佳实践

CoffeeScript生成的JavaScript代码都可以完全通过JSLint的检测

cb6736ed0bd8ba802e8a0a98ceb90fc5.png

原文:http://www.cnblogs.com/zhangyongl/p/6145433.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559889.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机桌面程序名,深度技术win7旗舰版电脑桌面图标只显示名称了怎么办

就算是咱们没有刻意的在桌面创建程序的快捷打开方式,咱们windows系统预装的时候,也会在桌面自行的安装一些快捷方式,例如咱们比较熟悉的回收站、计算机、网络、IE图标等等,而这些图标的显示方式也是系统默认的,由图标和…

计算机专业英语读书报告,英语读书报告怎么写

《英语读书报告怎么写》由会员分享,可在线阅读,更多相关《英语读书报告怎么写(8页珍藏版)》请在装配图网上搜索。1、英语读书报告怎么写-工作报告一:英文读书报告撰写格式英文读书报告撰写格式1字体均为Times New Roman报告题目为3号黑体居中学生姓名、专…

《计算机基础知识》读后感300字,计算机应用基础读后感

010在线为您甄选多篇描写计算机应用基础读后感,计算机应用基础读后感精选,计算机应用基础读后感大全,有议论,叙事 ,想象等形式。文章字数有400字、600字、800字....缓存时间: 2021-06-21计算机应用基础说课稿随着计算机应用的普及…

一调计算机专业综合理论试卷,一调计算机专业综合理论试卷(盐城)(新编)

一调计算机专业综合理论试卷(盐城)(新编) (15页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!14.9 积分盐城市2013年普通高校单独招生第一次调研考试计算机应用专业综合理论试卷第I卷(共…

计算机网络聚合怎么设置,交换机的端口聚合如何配置

交换机的端口聚合配置又是怎么回事呢,那么交换机的端口聚合如何配置的呢?下面是学习啦小编收集整理的交换机的端口聚合如何配置,希望对大家有帮助~~交换机的端口聚合配置的方法工具/原料计算机网络工具软件方法/步骤配置交换机Switch0:Switch>enSwit…

固定在计算机主机箱体上的起到连接计算机,固定在计算机主机箱箱体上的、起到连接计算机各种部件的纽带和桥梁作用的是( )。...

主板电脑机箱主板,又叫主机板、系统板或母板它分为商用主板和工业主板两种。它安装在机箱内,是微机最基本的也是最重要的部件之一。主板一般为矩形电路板,上面安装了组成计算机的主要电路系统,一般有BIOS芯片、I/O控制芯片、键和面…

计算机应用技术工作项目是,论计算机应用技术在工程项目管理中的应用(原稿)...

《论计算机应用技术在工程项目管理中的应用(原稿).doc》由会员分享,可免费在线阅读全文,更多与《论计算机应用技术在工程项目管理中的应用(原稿)》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。1、计算机应用技术也能在社会发展需求的大…

个人计算机的组成及相关功能,计算机的组成部分及功能(范文).doc

计算机的组成部分及功能(范文)第 PAGE \* Arabic 1 页第 PAGE \* Arabic 1 页计算机的组成部分及功能由运算器,控制器,存储器,输入装置和输出装置五大部件组成计算机,每一部件分别按要求执行特定的基本功能。⑴ 运算器或称算术逻辑…

中学计算机教育特点,中学信息技术考点:信息的概念和基本特征

信息作为日常生活中最常见的词汇之一,与人类的生活息息相关。人们通过获得、识别自然界和社会的不同信息来区别不同事物,得以认识和改造世界。那么到底什么是信息呢?它的基本特征又有哪些?作为中学信息技术考点之一,福…

pc个人微型计算机ppt,《IBMPC微型计算机》PPT课件.ppt

《《IBMPC微型计算机》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《IBMPC微型计算机》PPT课件.ppt(48页珍藏版)》请在人人文库网上搜索。1、第二章 IBM PC 微型计算机,8086/8088CPU的基本结构 8086/8088CPU的寄存器组 存贮器的分段结构 8086/8088CP…

西南科技大学 计算机组成原理2011-2012,2011-2012学年第2学期课程教案-计算机组成原理-陈立伟.doc...

2011-2012学年第2学期课程教案-计算机组成原理-陈立伟.doc计算机科学与技术学院课 程 教 案学 期 2011~2012学年 第2学期课程名称 计算机组成原理授课对象 计算机2010级学 时 数 64学时教学大纲 《计算机组成原理》教学大纲()教材名称 《计算机组成原理》,唐朔飞&am…

前一天日期软件测试需求,软件测试实验日期前一天.doc

《软件测试实验日期前一天.doc》由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关《软件测试实验日期前一天.doc》文档请在天天文库搜索。1、软件测试实验一姓名: 学号: 班级:…

注意力测试软件系统,儿童注意力训练评估软件 - 训练评估软件 - 唯普诺心理,心理测评系统,心理测评软件,婴幼儿智能发育,心理软件...

注意力是儿童普遍存在的问题,他们在听课、看书、做作业、活动等事情上,往往不能集中注意力,既没有耐性也没有毅力,这和他们的先天有关,也和他们后天的养育、饮食、睡眠、环境等有关。解决儿童的注意力问题需要综合应用…

软件测试msf模型,Visual Studio 2010 Ultimate中MSF过程模型的设计

Visual Studio 2010 Ultimate中MSF过程模型的设计发表于:2010-04-06来源:作者:点击数:过程模型是 软件工程 学中的一部分,就好比我们用什么过程方法进行软件“房子”的建设。在本节中,我们将对VS 2010新提供…

计算机书上简单的if语句例题,计算机if语句.doc

计算机if语句计算机if语句if语句1.if…if{alert}2.if…else…if{alert} else{alert }3. if…else if…else if{alert} else if {alert } else{alert }影视动画理论基础影视动画分镜头与美术设计 动画分镜头与设计动画短片前期创作技法 动画分镜头绘制技法动画片场景设计与镜头运…

为什么计算机打不开系统盘了,为什么我从装了系统之后进入‘我的电脑’发现F/E盘都打不开了。系统提示:ses.exe找不到!...

为什么我从装了系统之后进入‘我的电脑’发现F/E盘都打不开了。系统提示:ses.exe找不到!來源:互聯網 2009-05-12 13:16:52 評論分類: 電腦/網絡 >> 操作系統/系統故障問題描述:我的硬盘分4个盘符:C/D/F/E,C为系统盘。參考…

手机屏幕什么计算机,windows 7系统中要实现智能手机无线投屏到计算机屏幕上可以借助的软件有哪些?...

Win7应用程序如果你实在要的话,自己上网去搜个无线投屏有一大堆。如何通过无线把电脑的屏幕投屏到电视?1、将电脑,电视连入相抄同网络。2、将电视打开,在“发现”页面点击上键,按右键选择袭“爱投屏”2113-“镜像”-“…

计算机地图制图的点状符号制作,地理空间信息符号化表达研究

摘要:随着计算机辅助制图技术和地理信息系统的迅速发展,使得地图制图技术发生了翻天覆地的变化,具体体现在:制图时间缩短,制图工艺转变为计算机地图制图一体化,地理空间信息符号化表达的形式也由纸质地图向数字化地图的方向发展. 地理信息系统是以地图为基础的空间信…

soul群聊显示服务器异常,soul群聊状态是什么

soul是一个非常好用的灵魂社交软件,很多用户都会注册这个平台的账号,然后使用手机进行使用,软件的社交方式非常的特别,主要是使用语音进行社交,保证是真人社交,但是不会有其他的信息出现,所以都…

php 验证ajax提交表单提交表单提交,使用AJAX表单提交将表单数据传递给PHP而不刷新页面...

芜湖不芜$(function () {$(form).bind(click, function (event) {event.preventDefault();// using this page stop being refreshing $.ajax({type: POST,url: post.php,data: $(form).serialize(),success: function () {alert(form was submitted);}});});});PHP<?phpif…