【问题标题】:Why aren't my attribute selectors working?为什么我的属性选择器不起作用?
【发布时间】:2019-11-05 03:36:29
【问题描述】:

我正在尝试使用多个属性选择器,但我的代码似乎至少在 CodePen 中不起作用...

我搜索了很多,但我找不到解决方案。

我已经用 SCSS 编写了它们:

*[class^="inset"] {
  &[class*="-t0"] {
    top: 0;
  }
  &[class*="-r0"] {
    right: 0;
  }
  &[class*="-b0"] {
    bottom: 0;
  }
  &[class*="-l0"] {
    left: 0;
  }
}

这是一个带有已编译 CSS 的可运行演示:

*[class^="inset"][class*="-t0"] {
  top: 0;
}
*[class^="inset"][class*="-r0"] {
  right: 0;
}
*[class^="inset"][class*="-b0"] {
  bottom: 0;
}
*[class^="inset"][class*="-l0"] {
  left: 0;
}
<button class="inset-t0">Button</button>

【问题讨论】:

  • 请同时添加您的 HTML。没有它,真的无法弄清楚您要选择什么。
  • 您好,欢迎来到 Stack Overflow!要改善您的体验,请阅读how to ask 一个on-topic 问题。您还应该看看question checklisthow to create a Minimal, Complete, and Verifiable example。要详细了解 Stack Overflow 的工作原理,请take the tour
  • 你为什么不试试mixin
  • 他们不是在 Sass 工作吗?还是不在 CSS 中工作?
  • 另外,不清楚 what 不起作用。您是否希望此处应用方向位置属性而无需应用 position 属性?如果是这样,那么您还有其他问题。

标签: html css sass css-selectors


【解决方案1】:

这样选择意味着元素中有两个css类,比如

<button class="inset -t0"></button>

您可以简单地执行以下操作:

.inset {
  &-t0 {
    top: 0;
  }
  &-r0 {
    right: 0;
  }
  &-b0 {
    bottom: 0;
  }
  &-l0 {
    left: 0;
  }
}

【讨论】:

  • 我们必须去最简单的
  • 不是我正在寻找的答案,但您解决了我找不到的问题。谢谢!
【解决方案2】:
.inset {
  &-t0 {
    top: 0;
  }

  &-r0 {
    right: 0;
  }

  &-b0 {
     bottom: 0;
  }

  &-l0 {
    left: 0;
  }
}

【讨论】:

  • 您好,请在您的代码中添加一些解释和/或描述。仅代码答案可能解决问题,但也可能无法解决问题,并且不应将其作为练习留给读者剖析您的代码(毕竟,地狱是其他人的代码) .
猜你喜欢
  • 2017-11-11
  • 2021-01-08
  • 2015-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-07
  • 2021-09-17
  • 1970-01-01
相关资源
最近更新 更多