您的位置:首页 > Web前端 > CSS

CSS预处理语言--Less

2017-04-07 11:23 441 查看
作为刚入门的菜鸟,整理了一些简单的资料,希望大神多多指教。

一、什么是Less

1、使用类似CSS的语法,为CSS赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护,属于css预处理语言的一种。更方便的处理CSS的逻辑功能,更好的管理CSS代码。

二、使用安装

1、基于node.js

首先安装node环境,在官网可以根据情况下载:

http://nodejs.cn/download/

根据npm进行全局安装

$ npm install -g less


less的编译命令:

首先进入到当前地址

$ lessc 编译文件      生成文件
$ lessc styles.less styles.css


输出压缩过的 CSS,在最后添加 -x,如果希望获得更好的压缩效果,还可以通过 –clean-css 选项启用 Clean CSS 进行压缩。

$ lessc styles.less styles.css -x


2、浏览器端直接使用

下载less的js 文件  ,此时2.5.3版本 http://lesscss.cn/#download-options


引入less文件,注意 rel的不同

<link rel="stylesheet/less" href="example.less" />


然后引入js文件

<script src="lesscss-1.4.0.min.js"></script>


三、简单使用

1.变量

以@开头,变量可以写在页首,也可以写在其他地方,其符合“按需加载”,不必在使用前声明。


/*变量*/
@styles-w:100px;
.div{width:@styles-w;}

/*按需加载*/
.p{font-size:@styles-f;}
@styles-f:16px;

/*取此作用域中最后的定义*/
@var: 0;
.class1 {
@var: 1;
.class {
@var: 2;
three: @var;
@var: 3;
}
one: @var;
}


编译:

/*变量*/
.div{width:100px;}

/*按需加载*/
.p{font-size:16px;}

/*取此作用域中最后的定义*/
.class1 .class {
three: 3;
}
.class1 {
one: 1;
}


2.混合(Mixins)

定义一个通用的.class,当然如果不想在CSS中展示,可以隐藏。

.border{
border-radiu:5px
}
#header{
.border;
}

/*隐藏,在()中不添加参数*/
.border(){
border-radiu:5px;
}

/*带参数,可以选择默认值*/
.border(@ten:10px){
border-radiu:@ten;
}
#footer{
.border(20px);
}


编译:

.border{
border-radiu:5px
}
#header{
border-radiu:5px;
}
/*隐藏,在()中不添加参数*/
/*带参数,可以选择默认值*/
#footer{
border-radiu:20px;
}


3.嵌套

以嵌套的方式编写CSS,更方便的处理CSS样式

#nav{
font-size:16px;
.a{color:red}
.b{
border-radiu:10px;
.c{
font-size:20px;
&:hover{
background:white;
}
}
}
}


编译:

#nav {
font-size: 16px;
}
#nav .a {
color: red;
}
#nav .b {
border-radiu: 10px;
}
#nav .b .c {
font-size: 20px;
}
#nav .b .c:hover {
background: white;
}


4.运算

任何的数字、变量、颜色都可以进行运算

@font-s:10px+1;
@color:#2DC456;
.a{font-size:@font-s * 2}
.b{color:@color + #111}


编译:

.a {font-size: 22px}
.b {color: #3ed567;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  less