css - mixin 中的 SCSS 多个属性

标签 css sass

看看下面的例子:

@mixin placeholder ($color) {
  &.-moz-placeholder {
    color: $color;
  }

  &:-ms-placeholder {
    color: $color;
  }
}

@include placeholder(#999);

但我想插入多个属性,而不仅仅是占位符样式中的颜色。像这样:

@mixin placeholder ($properties) {
  &.-moz-placeholder {
    $properties;
  }

  &:-ms-placeholder {
    $properties;
  }
}

@include placeholder(color: #999, text-shadow: 1px 0px 0px #000);

这可能吗?如果可能的话如何?

最佳答案

正如@dave 所建议的,您可以使用 Sass 的 @content 指令来完成此操作。以下是您的示例使用该语法的样子:

@mixin placeholder {
  &.-moz-placeholder {
    @content;
  }

  &:-ms-placeholder {
    @content;
  }
}

@include placeholder {
  color: #999;
  text-shadow: 1px 0px 0px #000;
};

请注意,要传递内容 block ,请使用大括号而不是圆括号。您可以在 SASS documentation 中阅读更多内容.

关于css - mixin 中的 SCSS 多个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13685168/

相关文章:

css - 内容编辑器 Web 部件覆盖 Sharepoint CSS

html - 更改排序列表背景颜色

sass - compass watch 编译一次,没有注意到进一步的变化

shell - sass --watch 进程正在锁定我的终端窗口

css - SASS\SCSS rgba mixin 无法识别颜色

css - React CSS Webpack Hashing & 使用 semantic-ui-sass, semantic-ui-react

javascript - Meteor 不加载外部 CSS 和 JS 文件

html - 阻止图像与屏幕重叠,导致出现滚动条

css - CSS 如何处理大量相同的类?

css - 继承多个nth-child时重置nth-child "clear: both"