css - @mixin 可能用于伪元素

标签 css sass

我需要在我正在进行的元素中支持伪元素的新旧声明。我想创建一个 SCSS @mixin,这样我就不必重复自己了。

我想实现以下目标:

声明:

.selector {
  &#{$before} {
    content: '';
  }
}

编译:

.selector:before { content: ''; }
.selector::before { content: ''; }

所以我基本上需要 @mixin@extend :before::before 之后的任何 css 属性

我到处搜索,没有找到解决方案。他们的任何 Sass 向导都能让我的梦想成真吗?

提前致谢

最佳答案

给你,宝贝:

@mixin pseudo-element($element) {
  &:#{$element}, &::#{$element} {
    @content;
  }
}

// Usage:

.foo {
  @include pseudo-element('before') {
    content: '';
  }
}

输出:

.foo:before, .foo::before {
  content: '';
}

代码笔:https://codepen.io/esr360/pen/VzVBpj

关于css - @mixin 可能用于伪元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45952266/

相关文章:

html - 非设计师开发人员使用配色工具的最佳策略是什么?

sass - 在 Sass 中,我如何输出一个 % 符号

javascript - 背景图像与滚动内容一起移动

html - 形状符号内的内容/数字

css - 是否可以像这样设置复选框的样式?

css - 如何在 svg sprite 中填充或描边 sv​​g 元素。

css - 使用 Typescript 在我的 SASS 代码中注入(inject)背景 url ("MyImageHere.png"

php - laravel 5.5.3 中的 CSS

jquery - 如何在不影响其他元素的情况下将元素添加到指定位置?

javascript - 保持图像纵横比