css里边的jquery 可使用多种编译环境将less转换为css 我是用的是node安装less 文件.less
write less do more
依程序员的角度去编写css
css3的出现 css 兼容性写法使用less更容易 -webkit- -moz- -o-等使用less的混合写法更加方便css
@name:value
在使用的时候 height:@namenode
在没有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; }
有了这个功能 就能实现就可以实现将许多类的公共代码抽取出来 再使用混合为每个类加入这部分公共的代码程序员
为待混合的部分增长参数 这样在其余类调用的时候更加灵活
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; }
至关于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中能够对变量进行预算 只要这个变量带着单位 运算的时候是须要运算整数 不须要管单位 同时颜色也能够进行运算
可是在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代码
.test(@w:30px,@c:red,@xx:solid){ border: @arguments; } .tt1{ .test() }
将会生成的css代码
.tt1 { border: 30px red solid; }