我已经使用CSS最近LESS开始,想知道如果我的方法是通过创建我自己的少“混入”定位多个供应商前缀(我认为)的正确方法?
.transition (@transition: 1s) {
transition: @transition;
-webkit-transition: @transition;
-moz-transition: @transition;
}
所以,如果我是例如有一个.btn类并调用.transition(工作)
.btn:hover {
color: red;
.transition(@transition: 1s ease-in);
}
而对于动画。
@animate-fadein: fadeIn 1.7s linear;
.animation (@animation: fadeIn .2s linear) {
animation: @animation;
-webkit-animation: @animation;
-moz-animation: @animation;
-o-animation: @animation;
}
.btn
.btn {
@animation(@animation: fadeIn .2s linear);
}
此方法的工作的方式。 我只是好奇。 过度复杂的东西,或者我只是重新发明轮子我的方法是什么?
那么,使用混入帮助你的代码更DRY(不要重复自己),所以这是很好的,为什么你应该使用较少的主要原因。 当你的需求的变化(不同的浏览器支持),您将只需要改变你的混入(你可以在你的项目共享太)。
请注意,有很多混入图书馆找到这已经为您创建这些前缀混入在网络上。 请参阅: http://lesscss.org/usage/#frameworks-using-less-mixin-libraries
正如已经被@七阶段-MAX,现在大多数人使用autoprefix后处理器前缀他们混入提及。 同时引导有autoprefixer集成到他们的咕噜生成过程有利于前缀混入(自3.2版本)的。 最流行的autoprefix后处理器(唯一的缺点https://github.com/postcss/autoprefixer )将是它需要安装Node.js的,不能用一些使用替代编译器 。
由于少了易于使用的插件版本2。 少为您提供一个autoprefix插件了。 这个插件可以通过运行安装npm install -g less-plugin-autoprefix
。 安装后,你可以为实例运行lessc --autoprefix="last 2 versions" main.less
。
欠autoprefix插件与less.js编译器编译您的代码更少客户端时不使用。 -prefixfree似乎编译客户端时,是一个合理的选择。
大约在某些情况下,你的供应商前缀最后一个音符一个[优雅降级的策略( https://www.w3.org/community/webed/wiki/Optimizing_content_for_different_browsers:_the_RIGHT_way#Graceful_degradation )会比试图支持,即使是最老的浏览器更好与最新的技术。