我已将以下 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
根据浏览器版本限制添加/删除供应商前缀。现在几乎每个浏览器都支持 transition
。
您可以看到过渡支持 here 。
因此,删除无用的代码会减少包的大小。
如果您真的想支持旧浏览器,请设置此配置。
对于 Laravel Mix(最新)
将此代码添加到您的 webpack.mix.js
之上。
let mix = require('laravel-mix');
mix.options({
postCss: [
require('autoprefixer')({
browsers: ['last 40 versions'],
})
]
});
...
...
对于 Laravel Elixir
将此代码添加到您的
gulpfile.js
之上var elixir = require('laravel-elixir');
elixir.config.css.autoprefix.options.browsers = ['last 40 versions'];
...
...
关于css - 使用 laravel mix 编译 sass 后,只显示 webkit,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45652353/