预编译语言

预编译语言 Sass Less Stylus之间的区别

  • Less是基于JavaScript,是在客户端处理的。其缺点是比起SASS来,可编程功能不够,不过优点是简单和兼容CSS。
  • Sass是基于Ruby,是在服务器端处理的。
  • Stylus主要用来给Node项目进行CSS预处理支持。语法自由度很高。

了解 PostCSS

学习less

官网less

  • npm install -g less
  • lessc style.less style.css

嵌套规则

操作

  • LESS支持一些算术运算,例如加号(+),减号( - ),乘法(*)和除法(/)
@fontSize: 10px;
.myclass {
 font-size: @fontSize * 2;
 color:green;
}

转义

  • 〜“some_text"中的任何内容将显示为 some_text
p {
  color: ~"green";
}

函数

  • 如圆函数,floor函数,ceil函数,百分比函数等。
@color: #FF8000;
@width:1.0;
.mycolor{
color: @color;
 width: percentage(@width);
}

命名空间和访问器

  • 它用于将mixins分组在通用名称下。 使用命名空间可以避免名称冲突,并从外部封装mixin组。
.class1 {
  .class2 {
    .val(@param) {
      font-size: @param;
      color:green;
    }
  }
}

.myclass {
  .class1 > .class2 > .val(20px);
}

变量范围

  • 变量范围指定可用变量的位置。 变量将从本地作用域搜索,如果它们不可用,则编译器将从父作用域搜索。
@var: @a;
@a: 15px;

.myclass {
  font-size: @var;
  @a:20px;
  color: green;
}

导入

@import "//www.w3cschool.cn/less/myfile.less";
@import (less, optional) "custom.css";

变量

  • @变量名:变量值

扩展

  • &是父级选择器的引用
  • Extend是一个LESS伪类,它通过使用:extend 选择器在一个选择器中扩展其他选择器样式。
h2 {
  &:extend(.style);//给.style加上extend所在父级的样式
  font-style: italic;
}
.style {
  background: green;
}
//编译后
h2 {
  font-style: italic;
}
.style,
h2 {
  background: green;
}
.style:extend(.container, .img)
{
  background: #BF70A5;
}
.container {
  font-style: italic;
}
.img{
   font-size: 30px;
 }

.style {
  background: #BF70A5;
}
.container,
.style {
  font-style: italic;
}
.img,
.style {
  font-size: 30px;
}
 

混合

  • Mixins是一组CSS属性,允许您将一个类的属性用于另一个类,并且包含类名作为其属性。
.p1{
  color:red;
}
.p2{
  background : #64d9c0;
  .p1();
}
.p3{
   background : #DAA520;
  .p1;
}

.p1 {
  color: red;
}
.p2 {
  background: #64d9c0;
  color: red;
}
.p3 {
  background: #DAA520;
  color: red;
}

混合参数

  • 参数mixin使用一个或多个参数,通过参数和其属性来扩展LESS的功能,以便在混合到另一个块时自定义mixin输出。
.border(@width; @style; @color) {
    border: @width @style @color;
}

.myheader {
    .border(2px; dashed; green);
}

将规则集传递给Mixins

@detached-ruleset: {
    .mixin() {
        font-family: "Comic Sans MS";
        background-color: #AA86EE;
    }
};

.cont {
    @detached-ruleset();
    .mixin();
}


.cont {
  font-family: "Comic Sans MS";
  background-color: #AA86EE;
}

Mixin Guards

.mixin (@a) when (lightness(@a) >= 50%) {
   font-size: 14px;
}
.mixin (@a) when (lightness(@a) < 50%) {
   font-size: 16px;
}
.mixin (@a) {
   color: @a;
}
.class1 {
   .mixin(#FF0000)
}
.class2 {
   .mixin(#555)
}

.class1 {
  font-size: 14px;
  color: #FF0000;
}
.class2 {
  font-size: 16px;
  color: #555;
}

CSS Guards ???

@usedScope: global;
.mixin() {
  @usedScope: mixin;
  .cont when (@usedScope=global) {
    background-color: red;
    color: black;
  }
  .style when (@usedScope=mixin) {
    background-color: blue;
    color: white;
  }
  @usedScope: mixin;
}
.mixin();

.style {
  background-color: blue;
  color: white;
}

循环

.cont(@count) when (@count > 0) {
  .cont((@count - 1));
  width: (25px * @count);
}
div {
  .cont(7);
}

div {
  width: 25px;
  width: 50px;
  width: 75px;
  width: 100px;
  width: 125px;
  width: 150px;
  width: 175px;
}
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • 雨后 晴天 窗外 没一片雾霾 路上 人潮如海 你我都不是那个例外 如果倒带重来 不过是异想天开 想不开 才要想开 ...
    Singel行歌阅读 186评论 0 3
  • 重男轻女的思想,我不知道在别的地方是怎么样的。但我接触到的,就是几个例子,也让我觉得很严重。可能是在农村的原因,可...
    秋燃讲故事阅读 508评论 8 4
  • 今天在吴虹校长的带领下,我走进了《未来学校离我们有多远?》。聆听着吴虹校长熟悉而亲切的声音,我又一...
    通化496刘晓玲阅读 108评论 0 2
  • 最近在追正午阳光影业的电视剧《都挺好》,没读过原著,看之前以为是那种狗血都市生活剧,想着反正无聊就看看。都播了四...
    沈一木阅读 542评论 0 1