Less一种动态样式语言,LESS将css赋予了动态语言的特性,如变量,继承,运算,函数...LESS 既可以在客户端上运行 (支持IE 6+, Webkit, Firefox),也可以借助Node.js或者Rhino在服务端运行。
安装与使用:
//客户端引用
<link rel="stylesheet/less" type="text/css" href="styles.less">
<script src="less.js" type="text/javascript"></script>
//node服务端使用
npm install less
var less = require('less');//或者import less from 'less'
less.render('.class { width: 1 + 1 }', function (e, css) {
console.log(css);
});
//输出
.class {
width: 2;
}
客户端不建议直接引用less.js,可通过编译为css引入,推荐编译工具koala。
定义变量用@
//less
@ly_width:100px;
.box {
width:@ly_width;
}
/*编译css*/
.box {
width:100px;
}
混合可以将一个定义好的class A轻松的引入到另一个class B中,从而简单实现class B继承class A中的所有属性。我们还可以带参数地调用,就像使用函数一样。
// LESS
.rounded-corners (@radius: 5px) {
border-radius: @radius;
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
}
#header {
.rounded-corners;
}
#footer {
.rounded-corners(10px);
}
/*生成的 CSS */
#header {
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
}
#footer {
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
}
实现样式的继承关系,代码看起来层次分明,提高代码可维护性
// LESS
#header {
p { font-size: 12px;
a { text-decoration: none;
&:hover { border-width: 1px }
}
}
}
* 生成的 CSS */
#header p {
font-size: 12px;
}
#header p a {
text-decoration: none;
}
#header p a:hover {
border-width: 1px;
}
运算提供了加,减,乘,除操作,还可以做属性值和颜色的运算...
//less
@ly_width:100px;
.one {
width:@ly_widht + 100;
}
/*生成css*/
.one {
idth:200px;
}
round(1.67); //returns `2`
eil(2.4); //returns `3`
floor(2.6); //returns `2`)
lighten(@color, 10%); // return a color which is 10% *lighter* than @color
darken(@color, 10%); // return a color which is 10% *darker* than @color
saturate(@color, 10%); // return a color 10% *more* saturated than @color
desaturate(@color, 10%); // return a color 10% *less* saturated than @color
fadein(@color, 10%); // return a color 10% *less* transparent than @color
fadeout(@color, 10%); // return a color 10% *more* transparent than @color
fade(@color, 50%); // return @color with 50% transparency
spin(@color, 10); // return a color with a 10 degree larger in hue than @color
spin(@color, -10); // return a color with a 10 degree smaller hue than @color
mix(@color1, @color2); // return a mix of @color1 and @color2
有时候,你可能为了更好组织CSS或者单纯是为了更好的封装,将一些变量或者混合模块打包起来, 你可以像下面这样在#bundle
中定义一些属性集之后可以重复使用
#bundle {
.button () {
display: block;
border: 1px solid black;
background-color: grey;
&:hover { background-color: white }
}
.tab { ... }
.citation { ... }
}
//你只需要在 #header a中像这样引入 .button:
#header a {
color: orange;
#bundle > .button;
}
LESS 中的作用域跟其他编程语言非常类似,首先会从本地查找变量或者混合模块,如果没找到的话会去父级作用域中查找,直到找到为止.
一个less文件头部引入另一个less文件
@import "lib.less";
@import "lib";
两种注释方式:
//这是注释哦...
/*这是注释*/
作为css的预处理less,拥有着比css更快捷方便,扩展了css的变量、Mixin、函数等特性,使 CSS 更易维护和扩展。下面是介绍如何将less文件转换成css文件。
使用vscode的搬砖猿,想要在vscode编辑器里面很方便的编译less文件,需要在扩展商店里面下载一款名叫Esay LESS的超好用扩展,配置我们的LESS,我们需要在.vscode文件夹中建立一个settings.json的文件
Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。本文主要介绍less文件如何转化为css文件
HTML和CSS不属于编程语言而是属于标记语言,很难像JS一样定义变量、编写方法、实现模块化开发等。LESS是一门CSS预处理语言,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS更易维护和扩展。
css媒体查询有一个 宽高比很方便,aspect-ratio ,可以直接使用宽/高 来进行页面适配 使用样例如下:注意三点:
使用 @ 符号定义变量,变量分配使用 : 完成。声明格式:@变量名:变量值 。通常看到很多重复的相同的值,我们可以通过使用变量来避免。Less中的变量和其他编程语言一样,可以实现值的复用
less:是一门css扩展语言,也成为css预处理器,引入了变量,mixin(混入)、运算以及函数等功能,首先写一个common.less文件,专门用于媒体查询,其中常用的屏幕大小单位有
Less 提供了CSS @import CSS规则的几个扩展,以提供更多的灵活性来处理外部文件。使用 @import(reference)导入外部文件,但除非被引用
Loops语句允许我们多次执行一个语句或一组语句。在Less中,mixin可以自称,与 Guard表达式和模式匹配组合使用时,这个递归mixin可以创建各种迭代/循环结构。
让这个box范围内的全部包进来,这样的话就完美的进行调节,再也不用到处找第几行第几个,我刚才在哪个位置给覆盖了。一看便知!小米诺基亚等公司,都有自己的主色调。如果每次加一个#e23615太麻烦,而且如果诺基亚要搞活动!
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!