初识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 ...
随机推荐
- java学习面向对象之父子构造函数初始化
在之前讲到java面向对象继承的时候,我们只讲到了两个比较重要的知识点,一个是父子类当中有同名的成员变量,这个时候,我们引入了super这个关键字来区分这两个同名成员变量,除此之外,我们还讲到了父子同 ...
- Windows Azure云服务价格调整通知
好消息!由世纪互联运营的 Windows Azure推出优惠啦.我们采纳了多渠道客户的意见和建议,为了更好地服务大家,将降低多种云服务的价格,其中包括我们最受欢迎的服务 -虚拟机和 Block ...
- HDU-1225 Football Score
http://acm.hdu.edu.cn/showproblem.php?pid=1225 一道超级简单的题,就因为我忘记写return,就wa好久,拜托我自己细心一点. 学习的地方:不过怎么查找字 ...
- HTMLTestRunner生成空白resault.html
发现一奇葩问题,用idle或pyscripter执行脚本,生成的是空白html,通过cmd,进入脚本目录执行python xx.py,却能生成测试报告. HTMLTestRunner 例子 #codi ...
- CSS3 概览 更新时间 2014-0412-1317
CSS3 概览 CSS3可以划分为:文字.边框模型.背景.动画等. CSS3颜色模块 CSS2.1的时候可以使用4种颜色方式,直接使用颜色名,如 redRGB值,如 rgb(0,90,255)RGB百 ...
- net user命令
net user net user 用户名 net user 用户名 密码 /add net user 用户名 /del net localgroup administrators net local ...
- cobbler_web安装
- [置顶] c# asp.net 修改webconfig文件 配置
c# asp.net 修改webconfig文件 配置 #region 修改config文件 /// <summary> /// 修改config文件(AppSetting节点) /// ...
- C#与C++函数调用
在 上篇文章重点讲解数据类型的转换,在此基础上再讲解函数调用. 1.函数调用 c++中函数 INF_NET_API INF_RESULT WINAPI INF_NET_GetList(long lLo ...
- xml学习篇(二) ----JSON 和XML对比
在比较JSON和XML之前,我们先来上一堂关于数据格式的简要历史(更准确的说,是关于XML的始祖): 早在1970年,IBM开发了一种叫Generalized Markup Language的标记语言 ...