在使用 laravel mix 编译 sass 后,仅显示 webkit
after compiling sass using laravel mix only webkit is shown
我使用了以下 scss 代码用于 mixin,但编译后 -moz- 和 -o- 供应商前缀未显示在已编译的 css 文件中。
@mixin transition($move) {
-webkit-transition: $move;
-moz-transition: $move;
-o-transition: $move;
transition: $move;
}
a {
&:hover, &:focus {
color: $brand-color;
}
@include transition(all 0.2s linear);
}
使用 mix 编译后:
a {
-webkit-transition: all 0.2s linear;
transition: all 0.2s linear;
}
a:hover,
a:focus {
color: #4676fa;
}
提前致谢。 :)
这是因为 laravel 根据浏览器版本限制使用 autoprefixer
到 add/remove 供应商前缀。现在几乎每个浏览器都支持transition
。
您可以看到转换支持 here。
因此,删除无用的代码会减小包的大小。
如果您真的想支持旧版浏览器,请设置此配置。
对于 Laravel 混合(最新)
在您的 webpack.mix.js
之上添加此代码。
let mix = require('laravel-mix');
mix.options({
postCss: [
require('autoprefixer')({
browsers: ['last 40 versions'],
})
]
});
...
...
对于Laravel灵药
在您的 gulpfile.js
之上添加此代码
var elixir = require('laravel-elixir');
elixir.config.css.autoprefix.options.browsers = ['last 40 versions'];
...
...
我使用了以下 scss 代码用于 mixin,但编译后 -moz- 和 -o- 供应商前缀未显示在已编译的 css 文件中。
@mixin transition($move) {
-webkit-transition: $move;
-moz-transition: $move;
-o-transition: $move;
transition: $move;
}
a {
&:hover, &:focus {
color: $brand-color;
}
@include transition(all 0.2s linear);
}
使用 mix 编译后:
a {
-webkit-transition: all 0.2s linear;
transition: all 0.2s linear;
}
a:hover,
a:focus {
color: #4676fa;
}
提前致谢。 :)
这是因为 laravel 根据浏览器版本限制使用 autoprefixer
到 add/remove 供应商前缀。现在几乎每个浏览器都支持transition
。
您可以看到转换支持 here。
因此,删除无用的代码会减小包的大小。
如果您真的想支持旧版浏览器,请设置此配置。
对于 Laravel 混合(最新)
在您的 webpack.mix.js
之上添加此代码。
let mix = require('laravel-mix');
mix.options({
postCss: [
require('autoprefixer')({
browsers: ['last 40 versions'],
})
]
});
...
...
对于Laravel灵药
在您的 gulpfile.js
var elixir = require('laravel-elixir');
elixir.config.css.autoprefix.options.browsers = ['last 40 versions'];
...
...