LESS详解之变量(@)
变量基本上是每个语言脚本上都会涉及的一个小小知识点,是学好语言脚本的必经之路。LESS中也可以设置变量,然后通过变量可以改变整个网站的设计风格。良好的掌握LESS中变量的用法,是LESS的基础。
变量语法
使用方法就是在“@”后添加变量名称然后与变量值用冒号“:”链接。如下
LESS代码
@width : 300px;
.meng {
width: @width;
}
编译后的CSS代码
.meng {
width: 300px;
}
变量的作用域
如果对同一个变量定义两次的话,在当前作用域中最后一次定义的将被使用。这与CSS的机制类似,最后一次定义的值会成为这个属性的值。若定义在嵌套之中,那么这个变量就只能服务于这个嵌套之内的属性了。变量也是没有顺序可言的,只要页面里有,都会按顺序覆盖,按顺序加载。如下
LESS代码
@width : 1px;
.meng {
@width : 2px;
.long {
@width : 9000px;
width:@width;
@width : 22px;
}
width: @width;
}
编译后的CSS代码
.meng {
width: 2px;
}
.meng .long {
width: 22px;
}
下面这段例子也是有效的。
LESS代码
.long {
width: @w;
@o: 9%;
}
@w: @o;
@o: 100%;
编译后的CSS代码
.long {
width: 9%;
}
字符串插值
变量可以用像 @{name} 这样的结构,以类似 ruby 和 php 的方式嵌入到字符串中
LESS代码
@myUrl: "http://blog.csdn.net/lee_magnum";
.meng {
background-image: url("@{myUrl}/images/bg.png");
}
编译后的CSS代码
.meng {
background-image: url("http://blog.csdn.net/lee_magnum/images/bg.png");
}
选择器插值
如果需要在选择器中使用 LESS 变量,只需通过使用和字符串插件一样的 @{selector} 即可。
LESS代码
@Myname: meng1314;
.@{Myname} {
width:1000000000000px;
}
编译后的CSS代码
.meng1314 {
width: 1000000000000px;
}
media query作为变量
如果你希望在media query中使用LESS变量,你可以直接使用普通的变量方式。因为“~”后面的值是不被编译的,所以可以用作media query的参数。小例子如下
LESS代码
@singleQuery: ~"(max-width: 480px)";
@media screen, @singleQuery {
div {
width:2000px;
}
}
编译后的CSS代码
@media screen, (max-width: 480px) {
div {
width: 2000px;
}
}
用一个变量值的变量
在定义变量值时使用其它的变量。
LESS代码
@meng : 5201314px;
@loveDay : meng;
div {
width:@@loveDay;
}
编译后的CSS代码
div {
width: 5201314px;
}
LESS详解之变量(@)就为大家介绍到这里了。这并不是最完善的有关LESS的讲解,也不是最完美的讲解,只是把我学习的笔记和大家分享一下,希望能对大家有所帮助。掌握好LESS详解之变量(@),也是为之后LESS深入学习打好基础。
LESS详解之变量(@)的更多相关文章
- 详解js变量、作用域及内存
详解js变量.作用域及内存 来源:伯乐在线 作者:trigkit4 原文出处: trigkit4 基本类型值有:undefined,NUll,Boolean,Number和Strin ...
- C# 数据类型详解以及变量、对象与内存
学习刘铁猛老师<C#语言入门详解>视频,针对其中重点知识点进行总结. 1.什么是类型? 类型又称为数据类型(Data Type),数据类型在数据结构中的定义是一个值的集合以及定义在这个值集 ...
- php引用&符号详解——————给变量起小名
学习了这篇博客[http://blog.csdn.net/jiedushi/article/details/6428585] php中引用采用的是“写时拷贝”的原理,就是除非发生写操作,指向同一个地址 ...
- Python第二天: 变量详解及变量赋值
目录 什么是变量? 怎么写一个好的变量? 下划线命名法及驼峰命名法 结语 目录 此文章针对刚学Python的小白,若觉得对变量有很好的掌握,可以观看其他的文章 在这里, 我说一下我对变量的简单总结: ...
- 详解Python变量在内存中的存储
这篇文章主要是对python中的数据进行认识,对于很多初学者来讲,其实数据的认识是最重要的,也是最容易出错的.本文结合数据与内存形态讲解python中的数据,内容包括: 引用与对象 可变数据类型与不可 ...
- 【 MAKEFILE 编程基础之三】详解 MAKEFILE 变量的定义规则使用!
本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/gcc-makefile/770.html ...
- 160622、详解JavaScript变量提升
变量在程序中随处可见.它们是一些始终在相互影响,相互作用的的数据和逻辑.正是这些互动使应用程序活了起来. 在JavaScript中使用变量很重要的一方面就是变量的提升 —— 它决定了一个变量何时可以被 ...
- 详解JavaScript变量提升
变量在程序中随处可见.它们是一些始终在相互影响,相互作用的的数据和逻辑.正是这些互动使应用程序活了起来. 在JavaScript中使用变量很重要的一方面就是变量的提升 —— 它决定了一个变量何时可以被 ...
- 详解js变量声明提升
之前一直觉会认为javascript代码执行是由上到下一行行执行的.自从看了<你不知道的JS>后发现这个观点并不完全正确.先来给大家举一个书本上的的例子: var a='hello wor ...
随机推荐
- Codeforces Round #280 (Div. 2) A. Vanya and Cubes 水题
A. Vanya and Cubes time limit per test 1 second memory limit per test 256 megabytes input standard i ...
- Java外部类可以访问内部类private变量
在讲Singleton时我举例时用过这样一段代码: public class SingletonDemo { private static class SingletonHolder{ private ...
- 一行代码提取url中querystring的某个key的值
var itemdata = "OrderFilter=0&ProjectTag=15&DateType=0"; var projectTag = itemdata ...
- java中HashMap在多线程环境下引起CPU100%的问题解决
最近项目中出现了Tomcat占用CPU100%的情况,原以为是代码中出现死循环,后台使用jstack做了dump,发现是系统中不合理使用HashMap导致出现了死循环(注意不是死锁). 产生这个死循环 ...
- 使用清华大学开源软件镜像AOSP的“每月更新初始化包”更新指定版本的Android源码
参照官方教程:Tsinghua Open Source Mirror 1. 下载了repo工具 mkdir ~/bin PATH = ~/bin:$PATH curl https://storag ...
- ThinkPHP中I('post.')与create()方法的对比
简要归纳: 1.二者都可用来接收post表单提交的数据. 2.I('post.')方法可直接接收赋值给变量如$post=I('post.'),create()方法源于父类模型封装,需先实例化父类模型, ...
- CentOS 7编译openssl
# 编译安装zlib库wget http://zlib.net/zlib-1.2.11.tar.gztar -zxvf zlib-1.2.11.tar.gz cd zlib-1.2.11 ./conf ...
- Syncthing -- 开源的云储存和同步服务工具
Syncthing -- an open-source file synchronization client/server application Syncthing是一个开源的云存储和同步服务工 ...
- 腾讯旗下网站的很多URL都包含“cgi-bin”,是什么意思?他们后台用什么语言?
cgi-bin 这很有可能说明后台是C/C++写的. 动态Web技术刚出来的时候, 服务器调用本地应用程序处理http请求的技术. 通常是C/C++程序. 后来有了新的web开发技术后这类用的就比较少 ...
- 基于springboot的spring JSR validation 后台参数验证
springboot集成JSR参数校验: 1. 导入maven <dependency> <groupId>org.springframework.boot</group ...