0

在我正在处理的一个项目中,我们使用带有postcss(alsopostcss-cssnextpostcss-include) 的 css 模块。我们还将引导程序作为全局提供的依赖项。

在给定的组件中,我确实有一个按钮的自定义类。所以我的按钮有以下类:btn btn-custom.

根据要求我想修改按钮处于活动状态时的外观。对于该引导程序具有以下选择器:.btn.active, .btn:active. 覆盖伪类是容易的部分。不过,这.active门课是棘手的地方。

在我的 css 文件中,我尝试了几种方法来处理这个问题,但似乎都没有。以下是我尝试过的一些事情:

.btn-custom {
  &.active, &:active {}
  @nested :global &.active, &:active {}
  @nested :global & { &.active, &:active: {} }
  @nested :global { &.active, &:active: {} }
}

:global {
  .btn-custom { &.active, &:active {} }
  .btn { &.active, &:active {} }
}

有没有人知道如何实现这一目标?

4

1 回答 1

1

全局目标类需要用括号包裹,如下所示:

.btn-custom {
  color: red;
}

.btn-custom:global(.active) {
  color: blue;
}

所以嵌套:

.btn-custom {
  &:global(.active), 
  &:active {}
}

最后一个未经测试,我猜 PostCSS 插件的顺序在这里很重要。

于 2016-10-15T08:10:04.380 回答