2

有没有办法在 Sass 中为转换创建一个变量来复制这个:

-webkit-transition: .2s;
-moz-transition: .2s;
-ms-transition: .2s;
-o-transition: .2s;
transition: .2s;

我刚接触 Sass,我正在使用 CodeKit 进行编译。

谢谢!

4

2 回答 2

14

您可以创建一个mixin来封装:

@mixin transition($duration) {
    -webkit-transition: $duration;
    -moz-transition: $duration;
    -ms-transition: $duration;
    -o-transition: $duration;
    transition: $duration;
}

然后像这样使用它:

.class { @include transition(.2s); }

您可能还想查看Compass,它包括许多用于 CSS3 的内置 mixin,例如transitions

或者,您可能希望通过Autoprefixer运行您的 CSS (在将您的 Sass 编译为 CSS 之后)。这是一个 PostCSS 插件(尽管您也可以通过Gulp、Grunt、Webpack 和许多其他构建工具使用它),它会自动添加(和删除)必要的供应商前缀,因此您只需要编写无前缀的 CSS。您可以使用要支持的浏览器对其进行配置,它会确保存在任何所需的前缀。

于 2013-03-21T21:16:30.083 回答
1

您还可以使用过渡持续时间混合 http://compass-style.org/reference/compass/css3/transition/#mixin-transition-duration

a {
  color:red;
  @include transition-duration(.2s);
  &:hover {
    color:blue;
  }
}
于 2013-03-22T09:13:10.767 回答