编写过页面的开发者都知道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框架的更多相关文章

  1. 初识 Spring 框架

    初识 Spring 框架可以帮助我们构建规范的.优秀的应用程序,简化烦琐的编码过程. Spring 是一个非常著名的轻量级的企业级开源框架,Spring 的目标是使 Java EE 更易用并促进良好的 ...

  2. Sass:初识Sass与Koala工具的使用

    一.下载Koala(找到合适的系统版本)并安装 二.先新建一个css文件夹,并在里面新建一个文本文档(.txt),将其命名为demo.scss 三.打开Koala,将css文件夹拽进来,可以修改一下输 ...

  3. 初识Spring框架实现IOC和DI(依赖注入)

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的, IoC是 ...

  4. 初识Mybatis框架,实现增删改查等操作(动态拼接和动态修改)

    此第一次接触Mybatis框架确实是有点不适应,特别是刚从Hibernate框架转转型过来,那么为什么要使用Mybatis框架,Mybatis框架和Hibernate框架又有什么异同呢? 这个问题在我 ...

  5. 初识Polymer框架

    什么是polymer? polymer由谷歌的Palm webOS团队打造,并在2013 Google I/O大会上推出,旨在实现Web Components,用最少的代码,解除框架间的限制的UI 框 ...

  6. 初识SSH框架

    想了解SSH的工作原理吗?还不快快来看我的新文章----ssh框架的工作原理 也许你还不知道SSH存在的意义,但只是因为在没点开这篇文章之前的事了. SSH由Strut2,Spring,Hiberna ...

  7. 初识Spring框架

    一.Ioc 1)概念:Ioc(Inversion Of Control)控制反转,也被称为依赖注入DI(Dependency Injection),是面向对象编程的一种思想. 2)作用:用来减低程序代 ...

  8. 初识hibernate框架之一:进行简单的增删改查操作

    Hibernate的优势 l 优秀的Java 持久化层解决方案  (DAO) l 主流的对象—关系映射工具产品 l 简化了JDBC 繁琐的编码 l 将数据库的连接信息都存放在配置文件 l 自己的ORM ...

  9. 初识phaser框架——开源的HTML5 2D游戏开发框架

    背景: 在网上看到,65行实现flappy bird,感到很好奇.原来是使用开源的2D游戏框架 phaser开发的. 什么是phaser2D游戏开发框架呢? 借鉴与网上的资料: 1.    Phase ...

随机推荐

  1. 【转】linux(Ubuntu)配置svn仓库,搭建svn服务器

    原文网址:http://blog.1v2d.com/322.html 在家里搞了好久,终于搞出来,并且在线上已经成功搭建成功,在这感谢一个博主的文章,本篇文章也主要是转载他的内容,写的非常好,而且非常 ...

  2. 数据结构(树状数组):HEOI2012 采花

    [题目描述] 萧薰儿是古国的公主,平时的一大爱好是采花. 今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园采花.花园足够大,容纳了n朵花,花有c种颜色(用整数1-c表示),且花是排成一排的,以便 ...

  3. HDU 5929 Basic Data Structure 【模拟】 (2016CCPC东北地区大学生程序设计竞赛)

    Basic Data Structure Time Limit: 7000/3500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Oth ...

  4. if form1.showmodal:=mrok then 什么意思

    if form1.showmodal:=mrok then 这句话什么意思? 最佳答案 这个问题说来话长,且听我慢慢道来... 首先,你仔细看一看,所有的命令按钮(不论是Button还是BitBtn) ...

  5. [CF 351B]Jeff and Furik[归并排序求逆序数]

    题意: 两人游戏, J先走. 给出一个1~n的排列, J选择一对相邻数[题意!!~囧], 交换. F接着走, 扔一硬币, 若正面朝上, 随机选择一对降序排列的相邻数, 交换. 若反面朝上, 随机选择一 ...

  6. 用Octopress在Github pages上写博客

    安装Git环境 下载msysgit(git for windows),并安装. 可以选择安装TortoiseGit,这个在windows的资源管理器里装了很多git的右键菜单,对git命令行不熟悉的同 ...

  7. java中main函数解析(转载)

    从写java至今,写的最多的可能就是主函数 public static void main(String[] args) {} 但是以前一直都没有问自己,为什么要这么写,因为在c语言中就没有这样子的要 ...

  8. 解决方法:未能加载文件或程序集“Microsoft.Office.Interop.Excel。。

    .NET错误提示:未能加载文件或程序集“Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToke ...

  9. 使用PullToRefresh实现下拉刷新和上拉加载

    使用PullToRefresh实现下拉刷新和上拉加载 分类: Android2013-12-20 15:51 78158人阅读 评论(91) 收藏 举报 Android下拉刷新上拉加载PullToRe ...

  10. jQuery支持mobile的全屏水平横向翻页效果

    这是一款支持移动手机mobile设备的jQuery全屏水平横向翻页效果插件. 该翻页插件能够使页面在水平方向上左右全屏翻动,它支持手机触摸屏,支持使用鼠标滚动页面. 整个页面过渡平滑,效果很不错. 在 ...