对于作一个站,css写起来真的很费时间,不是有多难,而是要在多种浏览器兼容,特别是像我这种用editplus做为工具的人,写css 快不到哪里去,偶尔在博客园看到有人介绍LESS,去看了一下,真的很不错,用来生成css很方便,我说的不是用在项目中,而是用来生成css很快,日常 写一些css相似函数吧,用的时候只须要调用生成,很快就能够写好类,很是方便,这个年代,时间,还有比这更宝贵的吗?javascript
使用 LESS不须要什么基础,特别是编程人员,使用起来更是驾轻就熟。在使用以前,了解一下注意地方,注释单行用//就能够了,多行用/* 注释*/,和PHP是同样的,变量用@做为开始,这里的变量其实和常量同样,只能定义一次,之后不能修改的。导入外部css或less文件用 @import '文件名.css' ,这里提示一下,less的文件用less做为扩展名的。若是你的页面中想引入less能够同css同样的引入方法,我的不建议这么作,虽然有人说 less也很快,我建议是写好less而后生成css更好。css
下面先来分享我定义的css3经常使用代码的less函数java
/* 定义圆角 @radius 圆角大小 */ .round(@radius:5px){ border-radius:@radius; -webkit-border-radius: @radius; -moz-border-radius: @radius; } /* 盒子阴影 @right_left 右边阴影为正数 左边负数 @bottom_top 下边阴影为正数 上边负数 @box 阴影大小 @box_color 阴影颜色 */ .boxshadow(@right_left:5px,@bottom_top:5px,@box :5px,@box_color:#b6ebf7){ box-shadow:@arguments; -moz-box-shadow:@arguments; -webkit-box-shadow:@arguments; } /* 文字阴影,能够指定多组阴影 @right_left1 右边阴影为正数 左边负数 @bottom_top1 下边阴影为正数 上边负数 @text 阴影大小 @text_color 阴影颜色 */ .textshadow(@right_left1:5px,@bottom_top1:5px,@text :5px,@tetx_color:#b6ebf7){ text-shadow:@arguments; } /* 透明度 或渐变 1为不透明 0透明 css3 rgba(110, 142, 185, .4)!important;前三个是颜色值 后一个是透明值 用来兼容全部浏览器 */ .rgba(@rgba_a:.4,@rgb_b:40){ filter: alpha(opacity=@rgb_b); -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=@{rgb_b})"; opacity:@rgb_a; } /* 列布局 @c1 列数 @c2 列宽 @c3 列间距 @c4 边框样式 */ .column(@c1:3,@c2:310px,@c3:10px,@c4:1px solid #ccc){ column-count:@c1; column-width:@c2; column-gap:@c3; column-rule:@c4; -webkit-column-count:@c1; -webkit-column-width:@c2; -webkit-column-gap:@c3; -webkit-column-rule:@c4; -moz-column-count:@c1; -moz-column-width:@c2; -moz-column-gap:@c3; -moz-column-rule:@c4; } /* 画轮廓 就是内部框 @outline 样式 @outline1 间距 负数在内部 */ .outline(@outline:1px solid #699,@outline1:-10px){ outline:@outline; outline-offset:@outline1; } /*背景渐变 @start 渐变开始颜色 @end 结束颜色 */ .bg(@start :#00ffff,@end :#9fffff){ background:-webkit-gradient(linear,0 0, 0 100%,from(@start),to(@end)); background:-moz-linear-gradient(top,@start ,@end); filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=@start ,endColorstr=@end ,grandientType=0); } /* 旋转角度 IE不支持 滤镜支持0,1,2,3 */ .rotate(@ro :30deg){ transform: rotate(@ro); -webkit-transform: rotate(@ro); -moz-transform: rotate(@ro); -o-transform: rotate(@ro); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); } /* 过分动画 id是css属性 2s过分时间 0s是开始时间 ease-in进入 */ .tran(@t :id 2s ease-out 0s){ transition:@t ; -moz-transition:@t ; -o-transition:@t ; -webkit-transition:@t ; }
上边就是css3的几个效果类,好比调用圆角方法,直接写#div{.round;}就会生成默认圆角5px的效果,要 生成10px的呢,就写成#div{.round(10px);}是否是很方便呢?对于颜色和长度单位,还能够进行+ - * /四则运算,能够实现快速变化长度颜色。定义宽度@width:2px;@width *3;就表示6px,颜色相似运算。若是想定义字符串如:@str :'www.x.com';固然官方还有高级应用介绍,不过通常写css用的不多,这里 主要是经常使用的,就是用来方便写css,我这里这是列举了css3的几种方法,由于css3为了兼容多种浏览器,每每css代码特别多,这是一个简化css 代码的好方法,css2里面有些也能够本身定义,咱们还能够写一个页面,专门用来定制本身须要的类的效果。css3
好了,less就说这么多,其实记住一个,就是用@定义变量,而后像写函数写css,就可使用了,下载less:web
http://lesscss.googlecode.com/files/less-1.3.0.min.js
编程
页面中只须要这样就能够了浏览器
<link rel="stylesheet/less" type="text/css" href="styles.less"> <script src="less.js" type="text/javascript"></script>
第一行是你的less代码,第二行是用来解析less的,若是你也想像我同样生成css来使用,到http://www.oschina.net/tools/less来编译吧。less
(原创 by yoby)函数