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深入学习打好基础。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值