less学习

less是什么

css里边的jquery 可使用多种编译环境将less转换为css 我是用的是node安装less 文件.less
write less do more
依程序员的角度去编写css
css3的出现 css 兼容性写法使用less更容易 -webkit- -moz- -o-等使用less的混合写法更加方便css

less中的变量

@name:value
在使用的时候 height:@namenode

less中的类混合

在没有less以前 想让一个div有两个类获得效果 只能是给这个div加两个类 从而达到两个类的效果混合
可是有了less以后 再也不须要两个类 只须要在less中将须要混合的类放在一块儿
lessjquery

.bg{
    height: @test_width;background: red;.border;
}
.border{
    border: 10px solid #0D3349;
}

生成的csscss3

.bg {
  height: 300px;
  background: red;
  border: 10px solid #0D3349;
}

有了这个功能 就能实现就可以实现将许多类的公共代码抽取出来 再使用混合为每个类加入这部分公共的代码程序员

less中可带参数的混合

为待混合的部分增长参数 这样在其余类调用的时候更加灵活
lessweb

.bg{
    height: @test_width;background: red;.border(11px);
}
.border(@border_width){
    border: @border_width solid #0D3349;
}

生成的css代码less

.bg {
  height: 300px;
  background: red;
  border: 11px solid #0D3349;
}

为这个参数指定默认值
less 为@border_width指定默认值10px性能

.bg{
    height: @test_width;background: red;.border();
}
.border(@border_width:10px){
    border: @border_width solid #0D3349;
}

值得注意的是.bg只是一个定义的过程 在.border里边调用才能够生成css
这样在调用这个混合的时候即便没有参数的时候也不会报错 生成的css以下
cssspa

.bg {
  height: 300px;
  background: red;
  border: 10px solid #0D3349;
}

less中的匹配模式

至关于js中的if 但不彻底是
less没有出现以前 在页面上写一个三角形的方法code

.sanjiao{
  width: 0;height: 0;overflow: hidden;
  border-width:10px ;
  border-color: transparent transparent red transparent;
   border-style: dashed dashed solid dashed;
  //dashed  是为了兼容ie6
}

使用了less的匹配模式来实现

.tringle(top,@w:10px,@c:red){
  border-width:@w;
  border-color: @c;
  border-style:dashed dashed solid dashed ;
}
.tringle(bottom,@w:10px,@c:red){
  border-width:@w;
  border-color: @c;
  border-style:solid dashed dashed  dashed ;
}
.tringle(@_,@w:10px,@c:red){   //无论会执行那个tringle都会执行这一个  并且后边的这两个参数必须携带
    width: 0;height: 0;overflow: hidden;
}
.sanjiao_shang{
   .tringle(top)
}
.sanjiao_xia{
  .tringle(bottom)
}

生成的css

.sanjiao_shang {
  border-width: 10px;
  border-color: red;
  border-style: dashed dashed solid dashed ;
  width: 0;
  height: 0;
  overflow: hidden;
}
.sanjiao_xia {
  border-width: 10px;
  border-color: red;
  border-style: solid dashed dashed  dashed ;
  width: 0;
  height: 0;
  overflow: hidden;
}

less中能够对变量进行预算 只要这个变量带着单位 运算的时候是须要运算整数 不须要管单位 同时颜色也能够进行运算

less中的嵌套规则

可是在css中尽可能的少去嵌套 增长web性能
less

.list{
  width: 600px;margin: 30px auto;
  padding:0;
  li{
    height: 30px;
  }
  a{
    &:hover{           //&表明的就是上一层选择器
      color: #6ba82f;
    }
  }
}

生成的css

.list {
  width: 600px;
  margin: 30px auto;
  padding: 0;
}
.list li {
  height: 30px;
}
.list a:hover {
  color: #6ba82f;
}

less中的@arguments

less代码

.test(@w:30px,@c:red,@xx:solid){
  border: @arguments;
}
.tt1{
  .test()
}

将会生成的css代码

.tt1 {
  border: 30px red solid;
}
相关文章
相关标签/搜索