前言:我必须得承认在最最最开始的时候,我对于css的预编译是非常不以为然的,这是错误的。一般在页面编写过程中,我会将需要reset的css放在reset.css中,讲会需要重复用到的放置到public.css中,对于常用的几个数据,例如字体font-10,font-12,font-24,font-36,对于margin来说margin-top-10,margin-bottom-10等等,这样修改起来也非常方便,不过在看了(瞬间忘记了书名)以后,减少引入能够优化页面性能。

我们都知道,浏览器的工作原理,它向服务器端发送请求,服务器返回所请求的文件,那么显然文件越少越好。精灵图就是为了减少客户端向服务器发送请求。

在css中将公用的css文件复制到所需要的文件中是极为耗时并且不方便的,使用预编译语言能够解决这个问题,那么在页面引用中只需要引入当前页面对应css文件就可以了。

这里顺便介绍一下stylus预编译语言。

一、环境安装

stylus的安装依赖nodejs环境,因此需要先安装nodejs环境,这个怎么安装在上篇中有写到。

简单带过,就是进入nodejs官网,下载首页显示的最新版本,安装,完成以后打开cmd命令行,进入到当前目录文件夹中。

二、stylus安装

在控制面板中输入命令,npm install stylus -g

npm install stylus --save-dev

三、grunt构建工具和gulp构建工具

grunt比较复杂,这里就只简单介绍一下gulp,在上一篇介绍nodejs的博客中应该有提到gulp自动化构建工具。这里安装完成以后,需要一个gulpfile.js文件,在根目录下直接输入gulp会启动default任务命令。你可以再写一个default去调用,也可以在命令行输入调用任务名。

var gulp = require('gulp');
var stylus = require('gulp-stylus');
gulp.task('stylus', function(){ return gulp.src('./assets/stylus/**/*.styl') .pipe(stylus()) .pipe(gulp.dest('./assets/css')); });

四、重要的语法

导入:@import,(这就是我为什么突然痛改前非的原因!!!!)

@import "reset.css"

可以导入css可以导入stylus,当没有后缀名的时候,会认为导入的是stylus

@import"reset"

更多语法可以参考http://www.zhangxinxu.com/jq/stylus/import.php

【前端开发】优化代码之减少引入,css预编译语言的优点,stylus的使用的更多相关文章

  1. 前端开发【第2篇:CSS】

    鸡血 样式的属性多达几千个,但别担心,按照80-20原则,常用的也就几十个,你完全可以掌握它. Css初识 HTML的诞生 早期只有HTML的时候为了让HTML更美观一点,当时页面的开发者会把颜色写到 ...

  2. laravel 中CSS 预编译语言 Sass 快速入门教程

    CSS 预编译语言概述 CSS 作为一门样式语言,语法简单,易于上手,但是由于不具备常规编程语言提供的变量.函数.继承等机制,因此很容易写出大量没有逻辑.难以复用和扩展的代码,在日常开发使用中,如果没 ...

  3. Front End Developer Questions 前端开发人员问题(二)CSS 后续

    问题来源:http://markyun.github.io/2015/Front-end-Developer-Questions/ 31.视差滚动效果,如何给每页做不同的动画?(回到顶部,向下滑动要再 ...

  4. CSS预编译语言-LESS

    LESS的作用 CSS层叠样式表,它是标记语言,不是编程语言:所有的预编译CSS语言(less/sass…)都是赋予了CSS的面向对象思想 LESS的编译 LESS叫做预编译CSS:写好的LESS代码 ...

  5. css预处理器 sass和stylus对比以及常用功能

    在众多的css预处理器语言中,sass和stylus算是十分优秀的两个.本文主要针对两者的常用功能做个简单的对比分析.在对比中了解二者的差异,同时帮助大家更好的掌握这两种预处理语言. 本文涉及到的sa ...

  6. Web前端开发基础 第四课(CSS小技巧1)

    垂直居中-父元素高度确定的单行文本 父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的 height 和 line-height 高度一致来实现的.如下代码: <div class=&q ...

  7. Web前端开发基础 第四课(CSS小技巧)

    水平居中设置-行内元素 我们在实际工作中常会遇到需要设置水平居中场景,今天我们就来看看怎么设置水平居中的. 如果被设置元素为文本.图片等行内元素时,水平居中是通过给父元素设置 text-align:c ...

  8. Web前端开发基础 第四课(CSS元素模型)

    css布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上,又 ...

  9. Web前端开发基础 第四课(CSS元素分类)

    元素分类 在讲解CSS布局之前,我们需要提前知道一些知识,在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <di ...

随机推荐

  1. wpf 获取datagrid中模板中控件

    //获取name为datagrid中第三列第一行模板的控件 FrameworkElement item = dataGrid.Columns[].GetCellContent(dataGrid.Ite ...

  2. grafana日志分析界面及导出的json文件

    日志分析面板导出的json文件,效果图如下: 下载地址:http://files.cnblogs.com/files/xiaoming279/%E9%9D%A2%E6%9D%BF.zip 主机面板 主 ...

  3. windows安装mysql5.7

    1下载mysql http://dev.mysql.com/downloads/mysql/2解压后,新建一个data文件夹,复制my-default.ini,并改名为my.ini,添加下面内容[cl ...

  4. C# 4.0 之线程安全集合篇

    资料:http://www.cnblogs.com/chengxiaohui/articles/5672768.html

  5. Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)

    功能说明 输入文件路径,在浏览器输出文件预览信息,经测试极速(Chrome).IE9.Firefox通过 分类文件及代码说明  DemoFiles 存放可测试文件 Default.aspx  启动页 ...

  6. 关于session和cookie

    一.cookie机制和session机制的区别 **************************************************************************** ...

  7. VS2008 Debug与Release的本质区别(转)

    如何设置:工具栏“生成”→“配置管理器”→“活动解决方案配置” 对于VS2008的初次使用者来说,常会遇到的编译问题时,Debug版本运行正常,但在Release版本则不稳定或无法运行.以下是对Deb ...

  8. [BZOJ1112][POI2008]砖块Klo

    [BZOJ1112][POI2008]砖块Klo 试题描述 N柱砖,希望有连续K柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖,放到另 ...

  9. java连接oracle范例

    需要引用:ojdbc6.jar import java.sql.*; public class Main { static Connection conn; static Statement stat ...

  10. 服务器监控之 Monitorix 初体验

    参考: http://www.tecmint.com/monitorix-a-lightweight-system-and-network-monitoring-tool-for-linux/ Cen ...