Less主要用法
一、混合(Mixin)
原css中的样式如:
.header {
width:200px;
height:100px;
}
.header .word{
color:red;
}
less中的写法可以
.word{
color:red;
}
.header{
width:200px;
height:100px;
.word;
}
这样写可以减少冗余如果还有别的样式还需要color:red,就可以再次引入.word即可;
二、嵌套规则
less还允许css样式的嵌套,看原来代码写法:
#header {
color: black;
}
#header .navigation {
font-size: 12px;
}
#header .logo {
width: 300px;
}
现在可以这么写
#header {
color: black;
.navigation {
font-size: 12px;
}
.logo {
width: 300px;
}
}
三、运算
任何数字、颜色或者变量都可以参与运算。下面是一组案例:
//变量
@base: 5%;
@filler: @base * 2;
@other: @base + @filler;
// 用法
color: #888 / 4;
background-color: @base-color + #111;
height: 100% / 2 + @filler;
四、命名空间&访问器
通过上面我们知道可以这样写样式
#bundle {
.button {
display: block;
border: 1px solid black;
background-color: grey;
&:hover {
background-color: white
}
}
.tab { ... }
.citation { ... }
}
如果现在我们想把.button的样式写到#header a 里,我们可以这么做
#header a {
color: orange;
#bundle > .button;
}
五、变量范围
像其它编辑语言一样,先找本地如果找不到找父级的范围。
@var: red;
#page {
@var: white;
#header {
color: @var; // white
}
}
在写css中我们经常用到某些通用的样式,但是数值不一样,我们可以这么做
.border-radius(@radius:5px){
-webkit-border-radius:@radius;
-moz-border-radius:@radius;
border-radius:@radius;
}
.radius-test{
width:50px;
.border-radius(10px);
}
这样我们可以把通用的样式抽取出来,不用再写那么多代码
六、函数
Less 内置了多种函数用于转换颜色、处理字符串、算术运算等。这些函数在函数手册中有详细介绍。
函数的用法非常简单。下面这个例子将介绍如何将 0.5 转换为 50%,将颜色饱和度增加 5%,以及颜色亮度降低 25% 并且色相值增加 8 等用法:
@base: #f04615;
@width: 0.5; .class {
width: percentage(@width); // returns `50%`
color: saturate(@base, 5%);
background-color: spin(lighten(@base, 25%), 8);
}
Nam
避免直接编译,让浏览器编译
.width-test{
width:~'calc(300px-10px)';
}
七、父选择符&
a {
color: blue;
&:hover {
color: green;
}
}
.button {
&-ok {
background-image: url("ok.png");
}
}
.grand {
.parent {
& > & {
color: red;
}
}
}
.header {
.menu {
border-radius: 5px;
.no-borderradius & {
background-image: url('images/button-background.png');
}
}
}
编译后的结果:
a {
color: blue;
}
a:hover {
color: green;
}
.button-ok {
background-image: url("ok.png");
}
.grand .parent > .grand .parent {
color: red;
}
.header .menu { border-radius: 5px; }
.no-borderradius .header .menu { background-image: url('images/button-background.png'); }
八、条件判断
button when (@my-option = true) {
color: white;
}
导引中可用的全部比较运算有: > >= = =< <
九、import
你可以在main文件中通过下面的形势引入 .less 文件, .less 后缀可带可不带:
@import "lib.less";
@import "lib";
如果你想导入一个CSS文件而且不想LESS对它进行处理,只需要使用.css后缀就可以:
@import "lib.css";
Less主要用法的更多相关文章
- EditText 基本用法
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- python enumerate 用法
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...
- [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
- 【JavaScript】innerHTML、innerText和outerHTML的用法区别
用法: <div id="test"> <span style="color:red">test1</span> tes ...
- chattr用法
[root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...
- 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)
vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...
- [转]thinkphp 模板显示display和assign的用法
thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...
随机推荐
- android studio 一个项目如何打包多个apk
1.修改app的build.gradle文件 假设我们同一套代码编译2个app:demo1和demo2 android { ... productFlavors { // demo1 demo1 { ...
- log4j2 按日期分割,自动清理历史文件
方式一:定义CronTriggeringPolicy <?xml version="1.0" encoding="UTF-8"?> <Conf ...
- leetcode-227-基本计算器②
题目描述: 方法一:中缀转后缀 #!_*_coding:utf-8_*_ class Solution: def calculate(self, s: str) -> int: def in_t ...
- 不会在CentOS 8上安装htop?今天教你正确安装
它显示有关CPU和RAM利用率,正在执行的任务,平均负载和正常运行时间的信息.另外,htop显示所有正在运行的进程的列表,并且还可以树状格式显示这些进程. htop优于top的优势包括 以颜色标记输出 ...
- 计算几何——点线关系(叉积)poj2318
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #i ...
- BZOJ 1040 (ZJOI 2008) 骑士
题目描述 Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬. 最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火绵延五百里, ...
- 使用OxyPlot在WPF中创建图表
目录(?)[+] Using Nuget 包括OxyPlot在你的应用程序的最简单方法是使用NuGet包管理器在Visual Studio 运行 Visual Studio并开始创建一个新的WPF项目 ...
- 多进程报错 EOFError: EOF when reading a line
EOF的意思为:end of file 这个错误会在多进程中出现,是因为子进程中不能出现input,只能在父进程中使用. 结果:
- vue之样式问题
在样式开发过程中,有两个问题比较突出: 全局污染 —— CSS 文件中的选择器是全局生效的,不同文件中的同名选择器,根据 build 后生成文件中的先后顺序,后面的样式会将前面的覆盖: 选择器复杂 — ...
- POJ 2318 /// 判断点与直线的位置关系
题目大意: n块玩具箱隔板 m个玩具落地点 给定玩具箱的左上和右下两个端点 接下来给定n块隔板的上点的x和下点的x(因为y就是玩具箱的上下边缘) 接下来给定m个玩具落地点 输出n+1个区域各有的玩具数 ...