less基础语法
变量
- //->LESS代码
- @link-color: #428bca;
- @link-color-hover: darken(@link-color, 10%);
- a {
- color: @link-color;
- &:hover {
- color: @link-color-hover;
- }
- }
- .box {
- color: @link-color;
- }
- //->编译为CSS的结果
- a {
- color: #428bca;
- }
- a:hover {
- color: #3071a9;
- }
混入(Mixins)
- // 定义一个样式选择器
- .roundedCorners(@radius:5px) {
- -moz-border-radius: @radius;
- -webkit-border-radius: @radius;
- border-radius: @radius;
- }
- // 在另外的样式选择器中使用
- #header {
- .roundedCorners;
- }
- #footer {
- .roundedCorners(10px);
- }
- //经过编译生成的 CSS 文件如下:
- #header {
- -moz-border-radius:5px;
- -webkit-border-radius:5px;
- border-radius:5px;
- }
- #footer {
- -moz-border-radius:10px;
- -webkit-border-radius:10px;
- border-radius:10px;
- }
- ------------------------------------------------------------------------
- //->LESS代码
- .transition(@property:all;@duration:1s;@function:linear;@delay:0s;) {
- -webkit-transition: @arguments;
- transition: @arguments;
- }
- .box1 {
- .transition;
- }
- //->编译为CSS的结果
- .box1 {
- -webkit-transition: all 1s linear 0s;
- transition: all 1s linear 0s;
- }
继承(extend)
- //->LESS代码
- .public {
- width: 100px;
- height: 100px;
- }
- nav ul {
- &:extend(.public);
- list-style: none;
- }
- //->编译为CSS的结果
- .public, nav ul {
- width: 100px;
- height: 100px;
- }
- nav ul {
- list-style: none;
- }
- 或者:
- //->LESS代码
- .public {
- width: 100px;
- height: 100px;
- }
- nav ul:extend(.public) {
- list-style: none;
- }
- //->编译为CSS的结果和第一种写法一样
作用域
- //->LESS代码
- @color: #ccc;
- .box {
- @color: #eee;
- .gray {
- color: @color;
- }
- }
- .box2 {
- .gray {
- color: @color;
- }
- }
- //->编译为CSS的结果
- .box .gray {
- color: #eee;
- }
- .box2 .gray {
- color: #ccc;
- }
运算
- @init: #111111;
- @transition: @init*2;
- .switchColor {
- color: @transition;
- }
- //经过编译生成的 CSS 文件如下:
- .switchColor {
- color: #222222;
- }
- ------------------------------------------------------------------------------
- //->LESS代码
- .mixin (@a) when (lightness(@a) >= 50%) {
- background-color: black;
- }
- .mixin (@a) when (lightness(@a) < 50%) {
- background-color: white;
- }
- .box1{
- .mixin(#ddd);
- }
- .box2{
- .mixin(#555);
- }
- //->编译为CSS的结果
- .box1 {
- background-color: black;
- }
- .box2 {
- background-color: white;
- }
函数
- LESS 还有一个专门针对 color 的操作提供一组函数。下面是 LESS 提供的针对颜色操作的函数列表:
- 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
- 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
- PS: 上述代码引自 LESS CSS 官方网站,详情请见 http://lesscss.org/#-color-functions
- 使用这些函数和 JavaScript 中使用函数一样。
- @init: #f04615;
- #body {
- background-color: fadein(@init, 10%);
- }
- 经过编译生成的 CSS 文件如下:
- #body {
- background-color: #f04615;
- }
递归
- 在Less中,混合可以调用它自身。这样,当一个混合递归调用自己,再结合Guard条件表达式,就可以写出循环结构。使用递归循环最常见的情况就是生成栅格系统的CSS:
- //->LESS代码
- .generate-columns(4);
- .generate-columns(@n, @i: 1) when (@i <= @n) {
- .column-@{i} {
- width: (@i * 100% / @n);
- }
- .generate-columns(@n, (@i + 1));
- }
- //->输出的CSS
- .column-1 {
- width: 25%;
- }
- .column-2 {
- width: 50%;
- }
- .column-3 {
- width: 75%;
- }
- .column-4 {
- width: 100%;
- }
导入(import)
- //->LESS代码
- @import "public.less";
- .box {
- &:after {
- .clear;
- }
- }
- //->输出的CSS:会把public中的样式也输出
- .clear {
- display: block;
- height: 0;
- content: "";
- clear: both;
- zoom: 1;
- }
- .box:after {
- display: block;
- height: 0;
- content: "";
- clear: both;
- zoom: 1;
- }
less基础语法的更多相关文章
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- iOS-----正则表达式的基础语法
正则表达式简单语法总结 一.什么是正则表达式 从概念上来说,正则表达式也是一门小巧而精炼的语言,它可以用来简化检索特定的字符串,替换特定字符等功能,有许多开发语言工具,都内嵌支持正则表达式.那么一个正 ...
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- emmet 系列(1)基础语法
emmet 系列(1)基础语法 emmet 是一个能显著提升开发html和css开发效率的web开发者工具 emmet基本上目前已知的编辑器都有相应的插件,各个编辑器的emmet插件的下载地址:点我下 ...
- Scala基础语法 (一)
如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法. Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 我 ...
- Java基础语法
java基础学习总结——基础语法1 一.标识符
- javascript中正则表达式的基础语法
× 目录 [1]定义 [2]特点 [3]元字符[4]转义字符[5]字符组[6]量词[7]括号[8]选择[9]断言[10]模式[11]优先级[12]局限性 前面的话 正则表达式在人们的印象中可能是一堆无 ...
- Swift基础语法学习总结(转)
Swift基础语法学习总结 1.基础 1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...
- 黑马程序员——OC语言基础语法 面向对象的思想
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...
- 【OC基础语法考试】
OC基础语法已经全部学完,但是这些知识只是最基础的,还有很多高级知识,这个可能需要后面慢慢的去学习才能体会到.接下来我会总结前面的OC基础语法,如果大家发现有什么不正确的地方,请指正,小弟是新生,多请 ...
随机推荐
- BST 解析 (一)
这篇博文主要初步介绍Binary Search Tree(BST)的一些基本功能以及应用场景,由于BST的相关知识比较多,下一节会接着补充BST的一些功能.这一节主要分为以下三个要素: BST 的定义 ...
- Qt颜色下拉框
上周为了用Qt写一个类似颜色下拉框的东西,查阅了网上的多数相关资料,依然没有我想要的.终于在周四的时候下定决心重写QCombobox类来实现功能,现在把它贴出来,望看到的人,批评指正.废话不多说,先上 ...
- ionic3中NavController类push setRoot相关问题解决
今天在测试app的时候发现,登录页跳转到首页后,会加载两次数据.百思不得其解,查看了所有代码也没能发现问题.最终抱着尝试的态度,动了如下代码: if (suc) { //this.navCtrl.pu ...
- 如何在README.md文件中添加图片
原文链接:https://www.cnblogs.com/hongmaju/p/6873720.html 1.在github上的仓库建立一个存放图片的文件夹,文件夹名字随意.如:img-folder ...
- SpringBoot零基础入门指南--搭建Springboot然后能够在浏览器返回数据
File->new Project 修改默认包名,根据自己的喜好修改 选择初始化需要导入的包,尽量不要一开始就导入很多,特别是数据库,不然启动可能会有问题,创建好的目录如下: 配置文件写在app ...
- 计算rem
(function(doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? ' ...
- C# DateDateTimePicker设置属性ShowCheckBox为True
DateDateTimePicker的属性ShowCheckBox为True后,可以使用时间控件的复选框. 但是如果,你想设置CheckBox的选中状态为False的话,那么请注意赋时间值和赋状态值的 ...
- Codeforces Round #436 (Div. 2)
http://codeforces.com/contest/864 第一次打cf的月赛-- A 题意:给你一个数列,问你能不能保证里面只有两种数且个数相等.2<=n<=100,1<= ...
- Codeforces Gym 101521A Shuttle Bus
题意:给定一个2*N的方格,从左上角开始走,有些格子不能走,问能否一次遍历所有能走的方格 在Gym上看到一场香港的比赛,很好奇就去看了一下,发现第一题很有趣,并且很水,似乎讨论一下奇偶性就行了,然后. ...
- ubuntu更换开机动画
ubuntu更换启动动画 作为一个个用linux作为桌面环境,并且完全替代了windows的来说,怎么折腾好看,是一个重要的问题,而Ubuntu的开机动画,那紫色的画面,ubuntu那几个大字,实在丑 ...