我是不是我过于复杂的供应商前缀少吗?(Am I overcomplicating my LESS f

2019-10-30 02:18发布

我已经使用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); 
}

此方法的工作的方式。 我只是好奇。 过度复杂的东西,或者我只是重新发明轮子我的方法是什么?

Answer 1:

那么,使用混入帮助你的代码更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 )会比试图支持,即使是最老的浏览器更好与最新的技术。



文章来源: Am I overcomplicating my LESS for vendor prefixes?
标签: css less