我已将以下 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/

10-12 22:21