[导读] 前端打包的工具有很多,我用的习惯的就是这个grunt,无论是你要在github上做开源,还是让自己的项目变得更易于维护,grunt都是首选。

前端打包的工具有很多,我用的习惯的就是这个grunt,无论是你要在github上做开源,还是让自己的项目变得更易于维护,grunt都是首选。

网上的安装教程非常多了,这里就只是介绍一下都有哪些好用的插件。

1:grunt-contrib-less

less,可以让css变得更简单,更易于维护,他可以定义常量,可以转换单位,还可以计算颜色,他用嵌套把我们从重复的排列选择器的漩涡中拯救出来。

所以如果你想成为一个好的前端,或者一个喜欢偷懒的人,那么,less、sass或者jade这些东西尽量涉猎一些,会对效率的提升帮助极大。

grunt-contrib-less很容易,用处就是把less转换成css,只需要注意一下,现在先不要压缩,因为我们还有很多事情要做。

2:grunt-autoprefixer

autoprefixer,他是我近期的发现,看到他我对我从前对付浏览器私有属性的方式感到羞愧。

大家一定对写css的时候的那些浏览器私有属性很恶心了,关键是谁都没有心情去背到底这个属性那个浏览器存在私有前缀,所以 webkit moz ms o 统统都要写上去,一条语句,写了5遍。

那么,有了autoprefixer,我们就不需要再兼顾他们了,或者说,autoprefixer会帮我们把这些做了。

比如我们在less里写:


  1. .test{
  2. transform:rotate(20deg);
  3. transition: 1s;
  4. background-image: linear-gradient(to bottom, #444444, #999999);
  5. }

那么生成的css就是:


  1. .test {
  2. background-image: -webkit-linear-gradient(top, #444, #999);
  3. background-image: linear-gradient(to bottom, #444, #999);
  4. -webkit-transition: 1s;
  5. transition: 1s;
  6. -webkit-transform: rotate(20deg);
  7. -ms-transform: rotate(20deg);
  8. transform: rotate(20deg);
  9. }

这样子的。美观大方。恩恩···

3:grunt-contrib-csslint

csslint ,他会帮我们查出一些语法上的错误,什么?css有什么语法错误。其实也不算是错误,算是一些不规范的写法吧。

比如说我写了:display:inline-block;float:left;

那么他就会报错给你说:

不过他需要一个.csslintrc的配置文件,这个网上都有,可以自己扩充或删减,因为有的错误,是没必要的。

4:grunt-csscomb

csscomb,他可以把你写的css按照最优的顺序排出来,便于阅读,而且也很规范,别人看到了这样的css文件会特别的舒服。

比如我写了这样一堆乱七八糟的东西:···


  1. .a{
  2. position:absolute;width:100px;float:left;height:100px;display:block;top:20px;font-size:12px;line-height:20px;margin-top:30px;padding-left:10px;
  3. transform:rotate(20deg);
  4. }

那么他会帮我编译成:


  1. .a {
  2. position: absolute;
  3. top: 20px;
  4. display: block;
  5. float: left;
  6. width: 100px;
  7. height: 100px;
  8. padding-left: 10px;
  9. margin-top: 30px;
  10. font-size: 12px;
  11. line-height: 20px;
  12. -webkit-transform: rotate(20deg);
  13. -ms-transform: rotate(20deg);
  14. transform: rotate(20deg);
  15. }

美美的。

当然他也需要自己的配置文件.csscomb.json

5:grunt-contrib-cssmin

顾名思义,文件压缩。没什么好说的额。

配置方法大家可以网上去找,或者直接去他们的github上看文档,说的都很详细。

以上就是css的grunt配置,合起来用,就能帮你写出优雅的css文件。

转自:http://www.php100.com/html/it/qianduan/2015/0115/8377.html

grunt前端打包——css篇的更多相关文章

  1. 我的前端规范——CSS篇

    相关文章 简书原文:https://www.jianshu.com/p/e87bfd27ff59 我的前端规范——开篇:http://www.cnblogs.com/shcrk/p/9271561.h ...

  2. 前端面试——css篇

    css盒子模型 在W3C模型中: 总宽度 = margin-left + border-left + padding-left + width + padding-right + border-rig ...

  3. 后端码农谈前端(CSS篇)第二课:CSS的5个来源

    0.浏览器默认样式 当你不为html元素设置任何样式时,显示在浏览器上的(比如:<b>元素会显示粗体.<p>元素有纵向margin.<h1>元素字号比<p&g ...

  4. 后端码农谈前端(CSS篇)第八课:继承与层叠

    一.继承 继承:所谓CSS样式继承,就是子元素应用父元素的规则声明.(由这一特性,可将CSS属性分为可继承属性和非可继承属性.)可继承属性:属性值可由父元素继承给子元素的属性称之为可继承属性. 哪些属 ...

  5. 后端码农谈前端(CSS篇)第七课:定位与浮动

    一.定位: 1.定位的理解 (1)相对定位 相对定位是一个非常容易掌握的概念.如果对一个元素进行相对定位,它将出现在它所在的位置上.然后,可以通过设置垂直或水平位置,让这个元素"相对于&qu ...

  6. 后端码农谈前端(CSS篇)第六课:盒子模型

    元素框的最内部分是实际的内容,直接包围内容的是内边距.内边距呈现了元素的背景.内边距的边缘是边框.边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素. 提示:背景应用于由内容和内边距.边 ...

  7. 后端码农谈前端(CSS篇)第五课:CSS样式

    一.背景: CSS 允许应用纯色作为背景,也允许使用背景图像创建相当复杂的效果. 1.背景色 可以使用 background-color 属性为元素设置背景色.这个属性接受任何合法的颜色值. 例如: ...

  8. 后端码农谈前端(CSS篇)第四课:选择器补充(伪类与伪元素)

    一.伪类: 属性 描述 :active 向被激活的元素添加样式. :focus 向拥有键盘输入焦点的元素添加样式. :hover 当鼠标悬浮在元素上方时,向元素添加样式. :link 向未被访问的链接 ...

  9. 后端码农谈前端(CSS篇)第三课:选择器

    一.选择器 1.ID选择器: 语法:首先,ID 选择器前面有一个 # 号 - 也称为棋盘号或井号.请看下面的规则: *#intro {font-weight:bold;} 与类选择器一样,ID 选择器 ...

随机推荐

  1. linux下常用的日志分析命令【转】

    形如下面这样的access.log日志内容: 211.123.23.133 – - [10/Dec/2010:09:31:17 +0800] “GET /query/trendxml/district ...

  2. Use ASP.NET and DotNetZip to Create and Extract ZIP Files

    原文发布时间为:2011-02-16 -- 来源于本人的百度文章 [由搬家工具导入] Published: 11 Feb 2011By: Scott MitchellDownload Sample C ...

  3. Android系统启动过程【转】

    转自:http://www.cnblogs.com/bastard/archive/2012/08/28/2660389.html Android系统启动过程 首先Android框架架构图:(来自网上 ...

  4. Day 32 process&threading_4

    线程和进程 4 一.multiprocessing模块 multiprocessing包是Python中的多进程管理包. 与threading.Thread类似,它可以利用multiprocessin ...

  5. hdu 2824(欧拉函数)

    The Euler function Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  6. LeetCode OJ-- Length of Last Word

    https://oj.leetcode.com/problems/length-of-last-word/ 对一个字符串遍历,求最后一个单词的长度,如果有 ‘ ’,则切开了. 字符串的最后一个字符为 ...

  7. visual studio 插件 resharper 使用指南

    vs虽然号称是宇宙第一ide,但在智能提示和代码分析方面还是要略逊于jetbrains系列的ide.如果将jetbrains系列ide的智能提示和代码分析集成到vs中,对vs来说无异于如虎添翼.res ...

  8. CentOS6.6升级openssl到1.0.2a

    如果安装的CentOS不是完整版,需要安装下面几个安装包 安装wget: yum -y install wget 安装Perl: yum install perl* 安装gcc: yum instal ...

  9. 聚类kmeans算法在yolov3中的应用

    yolov3 kmeans yolov3在做boundingbox预测的时候,用到了anchor boxes.这个anchors的含义即最有可能的object的width,height.事先通过聚类得 ...

  10. java的架构流行阶段

    第一阶段:SSM 第二阶段:分布式系统改造,平台化初具规模,各项垂直业务系统搭建上线.产品端极大丰富用户投资.大数据平台研究并使用 第三阶段:SOA治理,使用zookeeper作为注册中心,dubbo ...