css - 伪类选择器相同的值

标签 css sass pseudo-element

我正在为悬停类和事件类使用伪选择器。在这种情况下,悬停和事件的颜色是相同的。这样做的方法是这样的:

a {
  color: #0090B2;
  &:hover {
    color: #FF7A00;
  }
  &.active {
    color: #FF7A00;
  }
}

但我不想重复相同的属性,我正在寻找类似这样的东西,当然这行不通,但你明白我想做什么。怎么做才是正确的?我应该只使用 mixin 吗?

a {
  color: #0090B2;
  &:hover, &.active {
    color: #FF7A00;
  }
}

最佳答案

选项 1

我不明白你的方法有什么问题,它对我有用:

a {
  color: #0090B2;
  &:hover, &.active {
    color: #FF7A00;
  }
}

这会给你:

a {
  color: #00acc1;
}
a:hover, a.active {
  color: #0f9d58;
}

选项 2

a {
  color : #00acc1;;

  &:hover {
    @extend %active_link;
  }

  &.active {
    @extend %active_link;
  }
}

%active_link {
  color: #0f9d58;
}

结果和之前一样。 但是,在这里您可以执行以下操作:

a {
  color : #00acc1;;

  &:hover {
    @extend %active_link;
    content: "AAA";
  }

  &.active {
    @extend %active_link;
    content: "BBB";
  }
}

%active_link {
  color: #0f9d58;
}

并得到:

a {
  color: #00acc1;
}
a:hover {
  content: "AAA";
}
a.active {
  content: "BBB";
}

a:hover, a.active {
  color: #0f9d58;
}

关于css - 伪类选择器相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52561453/

相关文章:

android - 在每个移动设备上强制使用相同的字体大小

css - 'in the same block formatting context?'是什么意思

vue.js - sass-loader 无法解析@use 规则

eclipse - aptana/eclipse 中 scss 的 .scss.erb 扩展语法高亮

html - 鼠标悬停不适用于菜单图标,仅适用于菜单文本

html - 右浮动和左浮动元素在语义 ui 中超出容器

html - 横幅图片涵盖了电子商务故事中的侧推车。如何防止这种情况?

css - 从::第一个字母中删除下划线

css - 是否可以检查 "computed"样式的::after 和::before 伪元素?

JavaScript:改变 CSS 伪 :before 和 :after 的任何机会或替代方法?