一、less预处理器

Less(LeanerStyle Sheets 的缩写)是一门 CSS扩展语言,也成为CSS预处理器。

1.插件安装

安装Easy LESS插件就能使写入的.less文件保存时自动生成.css文件

2.用法

1..less中的语法完全兼容css语法。

2.HTML引入时,需要引入的是CSS文件。

3.less自动生成为css文件后,不能直接修改生成的css文件,因为less文件的编译是时时的,刷新保存后,修改的css文件就不存在了。

3.less的嵌套

1.less的嵌套与HTML的结构一一对应。

//less
.father {
.son {
.sun {
font-size: 20px;
}
} .borther {
color: #09f;
}
} //less自动生成的css
.father .son .sun {
font-size: 20px;
}
.father .borther {
color: #09f;
} //html
<div class="father">
父亲
<div class="son">
儿子
<div class="sun">孙子</div>
</div>
<div class="borther">
兄弟
</div>

2.&代表less里的父元素自身。

3.父元素的内层选择中如果没有&符号,就是它的后代;有&符号,就是父元素自身。

// less中的嵌套与HTML结构一致
.father {
// 子代
>.son {
font-size: 50px; //伪元素
&::before {
content: "哈哈";
} .sun {
color: green;
font-size: 16px; // 鼠标经过
// &代表的是less中的上一级元素
&:hover {
color: #09f;
}
}
}
} // 交集
// &代表的是less中的上一级元素
div {
&.borther {
background-color: #f34;
}
}

4.less的变量

用@定义,谁要用谁就调用。

//定义变量
@color_f34: #f34;
@color_09f: #09f;
@font20: 20px;
@width: 100px; .father {
width: @width; .son {
color: @color_f34; .sun {
color: @color_09f;
}
} .borther {
font-size: @font20;
}
}

1.定义变量实际上就是将一个值储存在变量名中。

2.调用变量实际上就是使用变量中储存的值。

3.一个变量里面只能储存一个值。

4.变量名要见名知意,不能包含特殊字符,不能以数字开头。

5.less的运算

//定义变量
@color_f34: #f34;
@color_09f: #09f;
@font20: 20px;
@width: 100px; .father {
width: @width - 50;
// 运算符前后要用空格隔开,先乘除后加减
height: 100px + 200px - 100px * 2 / 4; .son {
color: @color_f34; .sun {
color: @color_09f;
border: 1px + 2 solid #222;
}
} .borther {
font-size: @font20 + 5;
}
}

6.导入less文件

在less文件中导入另一个less文件。

语法:

@import "文件名.less";

注意:@impot后面要有空格,语句结束要加分号喔~

7.less中的混合类

// 混合变量
// 无默认值
.square(@h; @w; @f) {
width: @w;
height: @h;
font-size: @f;
} .color(@bg; @fc) {
background-color: @bg;
color: @fc;
} // 有默认值
.square_2(@h: 200px; @w: 200px; @f: 18px) {
width: @w;
height: @h;
font-size: @f;
} .color_2(@bg: #90f; @fc: #fff) {
background-color: @bg;
color: @fc;
} //有默认值2
// 高默认是300,宽默认等于高
.square_3(@h: 300; @w: @h; ) {
width: @w;
height: @h;
} // 调用无默认值的混合变量必须要传入值
.box1 {
.color(#f34, #666);
.square(100px, 100px, 14px);
} .box2 {
.color(#09f, #ccc);
.square(100px, 100px, 20px);
} .box3 {
// 调用有默认值得混合变量时,可以不传入值,调用的就是默认值
.square_2();
.color_2();
} .box4 {
// 调用有默认 值得混合变量后,重新给他赋值,会覆盖掉默认值
.color_2(#666, #fff);
// 有默认值时,可以不全部赋值,没有赋值的就是默认值
.square_2(250px, 250px);
} .box4 {
.square_3();
}

利用less封装常用函数


// 清除浮动
.clearfix() {
&::after {
content: "";
display: block;
height: 0;
line-height: 0;
visibility: hidden;
clear: both;
}
}
// 定位居中
.center() {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
} // flex居中
.center_f() {
display: flex;
justify-content: center;
align-items: center;
} /*单行溢出*/
.one-txt-cut() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
} /*多行溢出*/
.txt-cut(@l) {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: @l;
-webkit-box-orient: vertical;
}

08-less预处理器的更多相关文章

  1. sass和less,优秀的前端样式预处理器

    身为切图界的一员,或者说在前端界打滚了一段日子的你.会慢慢地发现.如今的css编写已经不能满足自己的效率. 假设有更强大的框架,让你的css更灵活和更easy复用和维护,那该多好啊.非常明显,这个早已 ...

  2. 【转载】C/C++预处理器

    转自:http://www.cnblogs.com/lidabo/archive/2012/08/27/2658909.html C/C++编译系统编译程序的过程为预处理.编译.链接.预处理器是在程序 ...

  3. 前端CSS预处理器Sass

    前面的话   "CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工 ...

  4. css预处理器sass使用教程(多图预警)

    css预处理器赋予了css动态语言的特性,如变量.函数.运算.继承.嵌套等,有助于更好地组织管理样式文件,以及更高效地开发项目.css预处理器可以更方便的维护和管理css代码,让整个网页变得更加灵活可 ...

  5. C和指针 第十四章 预处理器 头文件

    编写一个C程序,第一个步骤称为预处理,预处理在代码编译之前,进行一些文本性质的操作,删除注释.插入被include的文件.定义替换由#define定义的符号,以及确定代码的部分内容是否应该按照条件编译 ...

  6. 关于前端CSS预处理器Sass的小知识!

    前面的话   "CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工 ...

  7. CSS预处理器Sass、LESS 和 Stylus

    CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 首先我们 ...

  8. C#预处理器指令 ,你造吗??? (●'◡'●)

    什么是c#预处理指令?? 用于在 C# 源代码中嵌入的编译器命令. C#预处理器指令有哪些?? ↓↓↓这些就是预处理器指令啦 下面我们一一道来(●'◡'●) 1.#if ,#elif,#else,en ...

  9. Myth – 支持变量和数学函数的 CSS 预处理器

    Myth 是一个预处理器,有点类似于 CSS polyfill .Myth 让你写纯粹的 CSS,同时还让你可以使用类似 LESS 和 Sass 的工具.您仍然可以使用变量和数学函数,就像你在其它预处 ...

  10. Harp – 内置常用预处理器的静态 Web 服务器

    Harp 是一个基于 Node.js 平台的静态 Web 服务器,内置流行的预处理器,支持把 Jade, Markdown, EJS, Less, Stylus, Sass, and CoffeeSc ...

随机推荐

  1. django身份认证、权限认证、频率校验使用及源码分析

    一. 身份认证源码分析 1.1 APIView源码的分析 APIView源码之前分析过https://www.cnblogs.com/maoruqiang/p/11135335.html,里面主要将r ...

  2. tcp上传大文件举例、udp实现qq聊天、socketserver模块实现并发

    为什么会出现粘包现象(day31提到过,这里再举个例子) """首先只有在TCP协议中才会出现粘包现象,因为TCP协议是流式协议它的特点是将数据量小并且时间间隔比较短的数 ...

  3. 洛谷1972 HH的项链 树状数组查询区间内不同的数的数量

    题目链接:https://www.luogu.com.cn/problem/P1972 题意大致是:给定一个序列长度为n,给出m个查询区间,要求响应是区间内不同的数的个数.为此我们考虑到树状数组的区间 ...

  4. Selenium系列(七) - 切换iframe

    如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...

  5. Hadoop调度器

    一.FIFO调度器(先进先出调度) 上图为FIFO调度器的执行过程示意图.FIFO Scheduler是最简单也是最容易理解的调度器,它缺点是不适用于共享集群.大的应用可能会占用所有集群资源,这就导致 ...

  6. Mock测试,结合Fiddler轻松搞定不同场景

    在平时测试过程中,总会遇到一些比较难构造的场景.比如不同平台间的同步,异常场景的构造.遇到难构造的场景时,就可以引用Mock来进行单元测试.简言之:mock测试就是在测试过程中,对于某些不容易构造或者 ...

  7. 使用wrd2vec构建推荐系统

    概览 完整的代码可以从这里下载: https://github.com/prateekjoshi565/recommendation_system/blob/master/recommender_2. ...

  8. centos7单机安装kafka

    基础要求操作系统:CentOS 7x 64位 kafka版本:kafka_2.11-0.8.2.1 #安装使用的jdk以及kafka的包我放到百度云了,需要自取. # 链接:https://pan.b ...

  9. Markdown 高阶语法

    记录一些 Markdown 的高阶语法,想起来什么,再更新 分割线 两条分割线 *** *** 插入表格 Column Column Column Row Content Content | Colu ...

  10. Spring如何解决循环依赖,你真的懂了?

    导读 前几天发表的文章SpringBoot多数据源动态切换和SpringBoot整合多数据源的巨坑中,提到了一个坑就是动态数据源添加@Primary接口就会造成循环依赖异常,如下图: 这个就是典型的构 ...