初识sass框架
编写过页面的开发者都知道css这个东西,究其原意,也就是层叠样式表,我们页面的三大结构,html css javascript,其中html负责主要的页面结构,css就负责主要的页面样式,而我们的js就主要负责页面的动态,在这里我们知道css是基于渲染原理,和w3c来设计标准的,对于简单的页面来说,页面内容不是很多,所以样式也就不会很多,这种情况下面编写的css样式表,也就不会显得十分的臃肿,但是如果我们卡开发的是一些比较大型的网站的话,光是页面就会有很多,加上内容和样式,你就会发现里面会有很多重复性的代码,比如导航,一些div的样式,一些footer,nav等等,其中的样式规则是相同的,但是我们在进行开发的时候还是得进行重复的编写,这在无形之中就增加了我们的工作量。
思考一下有没有什么办法可以解决这一个问题呢?办法总是会有的,但是我们需要注意的就是选择一个高效的,之前提到过的使用angular中的模板引入,但是这样做的缺点就是即使你只需要引入很少的样式,但是你都得写很多的代码,这样做显然不太适合,在这里我们compass的sass框架,作为css的代表作品诞生了,下面我们就来领略一下这个神奇的sass。
我们都知道css充其量只能算是样式规则,样式表,还算不上是一个语言,因为在css中我们没有别的编程语言所能够使用的变量啊,赋值啊,继承什么的,但是在这里,我们sass的出现,就可以使得css变成语言,能够赋予它语言的特有属性,让css去组织模块,封装,复用代码,更重要的是让css看上去更加具有设计感,但是在这里我们仍然需要明白的是sass并不会让你写出更好的代码,如果你需要提高你的css代码水平。建议还是熟悉掌握基本的css语法,以及元素的使用方法,加上不断的项目经验,在这里sass能够帮你做到的是让你更高效的写出高可维护性的代码,主要体现在一下几个方面:
1.sass对于原生的CSS@import指令的扩展,我们都知道在一个页面中引入外部样式表有多种方法,但是@inport我们是不会选择去用的,主要是因为其效率实在很低。
但是在这里的@import可以把样式分散到多个更小的文件中去,这样一来整个css的结构马上就会变得清晰了。
2.其中的变量机制,通过sass我们可以避免之前的样式规则如行高,颜色,定位等等这里需要写,那边完全相同还是需要写,这sass就提供了一个统一的地方归纳整理,开发者如果需要改变一些布局,直接在变量上更改就会应用到整个页面中去,如果是传统的话需要页面的更改,那工作量就大了。
3.标准样式的分离,就像我们调用函数一样,将一些样式抽取出来,避免我们的复制粘贴。
4.这里深入了样式继承的概念,这个大大简化了我们查找bug的工作,我们需要的只是从父元素的继承机制入手,就可以轻松搞定。
以上简单罗列了一些sass的好处,通过这个可以让我们感受到sass和compass不仅是我们的开发者工具更是web设计师的设计工具,在熟悉了sass的基础上我们在完成页面的时候需要的就是一个对整个页面的一个宏观把控,我们不是站在编写页面的高度去看待,我们需要站在页面设计师的高度去看待。更多的sass方面的知识没有办法在这里一一罗列,感兴趣的可以去查一些资料,见识一下这个神奇的工具。
初识sass框架的更多相关文章
- 初识 Spring 框架
初识 Spring 框架可以帮助我们构建规范的.优秀的应用程序,简化烦琐的编码过程. Spring 是一个非常著名的轻量级的企业级开源框架,Spring 的目标是使 Java EE 更易用并促进良好的 ...
- Sass:初识Sass与Koala工具的使用
一.下载Koala(找到合适的系统版本)并安装 二.先新建一个css文件夹,并在里面新建一个文本文档(.txt),将其命名为demo.scss 三.打开Koala,将css文件夹拽进来,可以修改一下输 ...
- 初识Spring框架实现IOC和DI(依赖注入)
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的, IoC是 ...
- 初识Mybatis框架,实现增删改查等操作(动态拼接和动态修改)
此第一次接触Mybatis框架确实是有点不适应,特别是刚从Hibernate框架转转型过来,那么为什么要使用Mybatis框架,Mybatis框架和Hibernate框架又有什么异同呢? 这个问题在我 ...
- 初识Polymer框架
什么是polymer? polymer由谷歌的Palm webOS团队打造,并在2013 Google I/O大会上推出,旨在实现Web Components,用最少的代码,解除框架间的限制的UI 框 ...
- 初识SSH框架
想了解SSH的工作原理吗?还不快快来看我的新文章----ssh框架的工作原理 也许你还不知道SSH存在的意义,但只是因为在没点开这篇文章之前的事了. SSH由Strut2,Spring,Hiberna ...
- 初识Spring框架
一.Ioc 1)概念:Ioc(Inversion Of Control)控制反转,也被称为依赖注入DI(Dependency Injection),是面向对象编程的一种思想. 2)作用:用来减低程序代 ...
- 初识hibernate框架之一:进行简单的增删改查操作
Hibernate的优势 l 优秀的Java 持久化层解决方案 (DAO) l 主流的对象—关系映射工具产品 l 简化了JDBC 繁琐的编码 l 将数据库的连接信息都存放在配置文件 l 自己的ORM ...
- 初识phaser框架——开源的HTML5 2D游戏开发框架
背景: 在网上看到,65行实现flappy bird,感到很好奇.原来是使用开源的2D游戏框架 phaser开发的. 什么是phaser2D游戏开发框架呢? 借鉴与网上的资料: 1. Phase ...
随机推荐
- TCP/IP FTP/TFTP
引言 从一台计算机向另一台计算机传送文件是在连网或互联网环境中最常见的任务.而FTP和TFTP就是这样的协议. 关于文件传输协议FTP? 端口21使用服务TCP [FTP模型] FTP连接? 1.控制 ...
- 怒刷BZOJ记录(二)1038~10xx
我实在是太弱了...不滚粗只能刷BZOJ了...这里来记录每天刷了什么题吧. 2015-8-13: 正式开始! 1030[JSOI2007]文本生成器 | ...
- Light OJ 1051 - Good or Bad
题目大意: 给你一个字符串,字符串由大写字母和‘?’组成,大写字母可以变成任意一个字母.现在我们定义字符串, 如果有超过三个连续的元音字母或者连续五个辅音字母,那么我们称这个字符串是“BAD”,否则称 ...
- 【转】蓝牙物理链路类型:SCO和ACL链路
原文网址:http://blog.chinaunix.net/uid-23193900-id-3272233.html 蓝牙物理链路ACL(Asynchronous Connectionless), ...
- 数学(概率):HNOI2013 游走
[题目描述] 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这 ...
- openStack云平台虚拟桌面galera mysql 3节点集群实例实战 调试完成
被复制节点: /usr/local/mysql/bin/mysqld_safe --wsrep_cluster_address=gcomm:// >/dev/null &复制节点01: ...
- 自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客
自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客 自动化运维工具Ansible详细部署
- JavaScript函数柯里化的一些思考
1. 高阶函数的坑 在学习柯里化之前,我们首先来看下面一段代码: var f1 = function(x){ return f(x); }; f1(x); 很多同学都能看出来,这些写是非常傻的,因为函 ...
- ASP.NET datable导出excel
本文转载:http://www.cnblogs.com/chwkai/archive/2005/10/08/250426.html 不错的文章:http://www.cnblogs.com/lzhp/ ...
- 经常使用虚拟现实仿真软件总汇(zz)
经常使用虚拟现实仿真软件总汇(zz)http://hi.baidu.com/busycai/blog/item/fe57e41e5f25fa1c403417b2.html 2007年09月07日 星 ...