自从用了Less 编写css,你比以前更快了~(sublime编译)

之所以用这个标题呢,主要是最近调侃杰伦太有意思了。

好吧,开个玩笑而已。

如果你了解过Less,并对之很熟悉,就不用往下看了。

如果你没用过,恭喜,这是一个入门级的教程,学会了它,可以为你节省10%的绳命。

首先,我们得知道Less能干什么。如:

@width:300px;
@fonts:12px bold "宋体,Verdana";
.block-header{
    color:#5c5c5c;
    .elem-title{
        font:@fonts;
        width:@width;
    }
    .elem-content{
        width:@width;
        height:300px;
    }
}
.block-footer{
    font:@fonts;
    width:@width + 100px;
}

最后编译出来的css是这样的:

.block-header {
  color: #5c5c5c;
}
.block-header .elem-title {
  font: 12px bold "宋体,Verdana";
  width: 300px;
}
.block-header .elem-content {
  width: 300px;
  height: 300px;
}
.block-footer {
  font: 12px bold "宋体,Verdana";
  width: 400px;
}

如何安装(主要是基于sublime编辑器,其他编辑器自行google)

用less进行编译css,有很多途径,可以用nodejs。当然我们希望以最简单的方式来完成,比如:新建一个 test.less文件,按 ctrl +s 即编译成 test.css.

要实现我所描述的功能,你只需要下载一个sublime编辑器,

1)打开sublime:

ctrl + shift + p

将出现如下界面:

2)输入:LessToCss

点击后即可安装

3)注:LessToCss对lessc.cmd有依赖,如果是mac,则比较简单,只需要在终端输入: npm install less -gd

等下载完就算完成了所有配置。跳过 4)。

4)windows下,LessToCSS对lessc.cmd有依赖,请下载:

https://github.com/duncansmart/less.js-windows/releases后 将其路径(i.e:  E:/Less)添加至系统环境变量中:

5)重启sublime.

6)新建一个文件:test.less   。把上面我写的复制进去,ctrl+s. 你能看到在你目录下自动生成了test.css.

注:默认 在  xx.less文件的同级目录下生成 xx.css,且自动压缩。

通过:Preference —— Package Settings —— Less2Css ——Setting Default 可以看默认配置:

{
  "lesscCommand": false,
  "lessBaseDir": "./",
  "outputDir": "./",
  "outputFile": "", //[example.css] if left blank uses same name of .less file
  "minify": true,   //默认压缩
  "minName": false,
  "autoCompile": true,
  "showErrorWithWindow": false,
  "main_file": false,
  "ignorePrefixedFiles": false
}
如果的dev环境中不想压缩,可以通过 Preference —— Package Settings —— Less2Css ——Setting User 增加:
{"minify": false}

到这里,你应该已经学会如何安装了。

语言特性快速预览——这里其实可以参考官网,我也是从哪抄来的

1)变量:变量允许我们单独定义一系列通用的样式,然后在需要的时候去调用。所以在做全局样式调整的时候我们可能只需要修改几行代码就可以了。

less源码:

@color: #4D926F;

#header {
    color: @color;
}
h2 {
    color: @color;
}

less编译后:

#header {
    color: #4D926F;
}
h2 {
    color: #4D926F;
}

2)混合(Mixins):混合可以将一个定义好的class A轻松的引入到另一个class B中,从而简单实现class B继承class A中的所有属性。我们还可以带参数地调用,就像使用函数一样。

less源码:

.rounded-corners (@radius: 5px) {     //泪如雨下啊:有了这个函数,以后再也不用每个样式里面写那么多兼容了,每次只要.rounded-corners(8px)   .rounded-corners(10px).  Awesome
    -webkit-border-radius: @radius;
    -moz-border-radius: @radius;
    -ms-border-radius: @radius;
    -o-border-radius: @radius;
    border-radius: @radius;
}

#header {
    .rounded-corners;
}
#footer {
    .rounded-corners(10px);
}

less编译后:

#header {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
}
#footer {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}

3)嵌套:我们可以在一个选择器中嵌套另一个选择器来实现继承,这样很大程度减少了代码量,并且代码看起来更加的清晰。

less源码:

#header {
    h1 {
        font-size: 26px;
        font-weight: bold;
    }
    p {
        font-size: 12px;
        a {
            text-decoration: none;
            &:hover {
                border-width: 1px
            }
        }
    }
}

less编译后:

#header h1 {
    font-size: 26px;
    font-weight: bold;
}
#header p {
    font-size: 12px;
}
#header p a {
    text-decoration: none;
}
#header p a:hover {
    border-width: 1px;
}

4)函数和运算:  运算提供了加,减,乘,除操作;我们可以做属性值和颜色的运算,这样就可以实现属性值之间的复杂关系。LESS中的函数一一映射了JavaScript代码,如果你愿意的话可以操作属性值。


less源码:

@the-border: 1px;
@base-color: #111;
@red:        #842210;

#header {
    color: (@base-color * 3);
    border-left: @the-border;
    border-right: (@the-border * 2);
}
#footer {
    color: (@base-color + #003300);
    border-color: desaturate(@red, 10%);
}

less编译后:

#header {
    color: #333;
    border-left: 1px;
    border-right: 2px;
}
#footer {
    color: #114411;
    border-color: #7d2717;
}

就这么多,语法是不是 so easy?

参考:

http://www.lesscss.net/article/home.html

http://www.cnblogs.com/wuya16/p/LessToCss.html

 
时间: 2024-10-08 02:00:11

自从用了Less 编写css,你比以前更快了~(sublime编译)的相关文章

Campass + Scss ,让我们更优雅的编写CSS

如果你经常写CSS,你应该会发现传统的CSS编写方式或多或少有些枯燥,不智能? 不优雅? 至少我是这么认为的. 缺陷举例 1. 假设页面中有大部分HTML元素的背景颜色值是一样的,  我们就需要为各个元素加上 background-color:#fff 这样重复的CSS代码,当然,你也可以通过单独定义一个class, 为这个class设定 background-color:#fff, 然后把class应用到你想要到的HTML元素上,如果运用的合理,还算说的过去,否则结果就是你的HTML元素上面可

编写css代码的方式

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <!-- html 在一个网页中负责的事情是一个页面的结构 c

sublime软件使用Emmet插件快速编写CSS样式

基本的CSS样式编写时,很多样式只需输入首字母即可得到不带属性值的CSS样式,像上面说到的margin.而对于一些带有特定的属性值的CSS样式,只需输入CSS标签与属性值的首字母就可以,比如: fl → float: left; 而在编写这些CSS样式时,有很多是我们想好的写法,但生成的不是你想要的,比如position: absolute;,我们会输入pa,生成的就不是position: absolute;,这时我们可以: poa → position: absolute; 一些用-连接的CS

编写css代码的方式:

编写css代码的方式:       第一种: 在style标签中编写css代码. 只能用于本页面中,复用性不强.       格式 :       <style type="text\css">   编写css的代码.   </style>   例子:   <style type="text\css">   a{   color:#F00;   text-decoration:none;   }   </style>

博客测试3 编写css

博客测试3  编写css 博客测试3  编写css 博客测试3  编写css 博客测试3  编写css 博客测试3  编写css 博客测试3  编写css 博客测试3  编写css 博客测试3  编写css 博客测试3  编写css

编写CSS样式

编写css样式: 1.标签里面直接写style属性 <div style="background: red;"> 标签里面直接写style属性 </div> 2.写在head里面,在head里面写style标签,在标签里面写样式 注意:一个html页面ID不能(最好不要)重复,所以这相当于<ID选择器>,给自己的ID定义了一个特定的样式.如果把id写重复了,重复的ID也会应用对应的样式. 3.也是写在head里面,但是是以.开头,class选择器 4

web前端入门到实战:编写CSS代码的8个策略,资深开发工程师总结

编写基本的CSS和HTML是我们作为Web开发人员学习的首要事情之一.然而,我遇到的很多应用程序显然没有人花时间真正考虑前端开发的长久性和可维护性. 我认为这主要是因为许多开发人员对组织CSS / HTML和JavaScript的策略缺乏深刻的理解. 在我和我们团队的观念中,编写可维护的前端代码非常重要.尽管我们有一些使用了多年的客户端,但要记住你永远不会是唯一一个工作于应用程序的人.仅仅因为你的一次性元素和配置对你有意义,并不意味着它们对下一个可能继承应用程序的人有意义. 为了防止这篇文章太长

CSS vs. JS Animation: 哪个更快

CSS vs. JS Animation: 哪个更快? CSS vs. JS Animation: 哪个更快? 基于JavaScript的动画竟然已经默默地比CSS的transition动画快了?而且,Adobe和 Google竟然一直在发布可以媲美原生应用的富媒体移动站点? 这篇文章将会逐点讲解基于JavaScript的DOM动画库,比如Velocity.js和GSAP,是如何比jQuery和基于CSS的动画库高效的. jQuery 让我们先从这个事实开始:JavaScript和jQuery被

jQuery的取节点与更快的CSS样式改变

jQuery中使用 $ ,可以通过元素的id, css class或 tag name很容易的获取到相应的元素. 这让之前取节点的繁琐变的简单.简短.简洁.并且为了更加方便的可以选择到相应的元素,提供了筛选的功能. 例: $(“p:gt(2)”) //2以上的元素$("p:lt(10)”) // 0-9   $(“p:empty”) //没有子孩子的p 还在匹配的元素中,设置一个样式属性的值 例: $("p").css("color","red&

CSS VS JS动画,哪个更快[译]

英文原文:https://davidwalsh.name/css-js-animation 原作者Julian Shapiro是Velocity.js的作者,Velocity.js是一个高效易用的js动画库.在<Javascript网页动画设计>一书中对这个库有很多更具体的剖析,对Velocity及JS动画感兴趣的可以一看. 基于Javascript的动画怎么可能总是和 CSS transition 一样快,甚至更快呢?到底是什么秘密呢?Adobe 和 Google 是怎么做到让他们的富媒体移