【问题标题】::active pseudo-class not working on button:active 伪类在按钮上不起作用
【发布时间】:2021-08-12 23:09:24
【问题描述】:

编辑:我一直在使用 Chrome 进行测试。当我在 Edge 中打开它时, :active 起作用了。

所以现在看来​​问题出在 Chrome 上。我对编码非常陌生(尝试自学)。

有人知道为什么会这样吗?


试图重新创建谷歌主页。我正在创建按钮并尝试重新创建一些效果。我目前卡在 :active 伪类上。

我以为我已经对 :active 进行了编码,以使浅蓝色 1px 边框替换 :hover 的灰色边框。然而,我得到的不是那个,而是一个比 1px 厚得多的黑色边框。

我试图包含更多的序列以防它需要它们全部(:链接,:访问,:悬停,:活动),但问题仍然存在。有什么建议吗?

.btn {
  padding: 10px;
  border: solid 1px #fff;
  border-radius: 3px;
  background-color: #ebebeb;
  font-size: 15px;
}

.btn:hover {
  border: solid 1px #b3b3b3;
}

.btn:active {
  border: solid 1px #cddbf1;
}

.btn1 {
  padding: 10px 15px;
}

.btn2 {
  margin-left: 10px;
}
<div id="search-buttons">
  <button type="button" class="btn btn1">Google Search</button>
  <button type="button" class="btn btn2">I'm Feeling Lucky</button>
</div>

【问题讨论】:

  • 似乎工作正常——点击时我看到浅蓝色。你能得到这个演示来显示问题吗?您的页面上是否还有其他 CSS 加载?
  • 所有其他 CSS 工作正常。但是,当我单击时,我希望边框只有 1px 和浅蓝色。当前 :active 选择看起来是黑色的并且比 1px 厚。我似乎无法更改 :active 上的边框颜色。
  • mdn :active 在用户按下按钮时被切换。您可以看到,当我们按住按钮时,边框颜色会发生变化。使用:focus 伪类来获得点击时的持久边框。
  • @isherwood 感谢您的快速回复!在看到它对你有用后,我尝试了不同的浏览器......果然!它适用于 Edge,但不适用于 Chrome。知道为什么吗?
  • 即使在 Chrome 中我也看不到您遇到的黑色边框;我得到了预期的浅蓝色边框。您能否检查您的 Chrome 设置并查看是否启用了辅助功能?当我将“在焦点对象上显示快速突出显示”更改为打开时,焦点元素会得到一个粗边框。

标签: html css pseudo-class


【解决方案1】:

您确实会更改为活动颜色,但很快就会更改为悬停颜色,因此不太明显。

您可能想要焦点伪类,因为当用户点击时,即使他们离开(直到下一次点击某处),它仍然存在。

.btn {
  padding: 10px;
  border: solid 1px #fff;
  border-radius: 3px;
  background-color: #ebebeb;
  font-size: 15px;
}

.btn:hover {
  border: solid 1px #b3b3b3;
}

.btn:active, .btn:focus {
  border: solid 1px #cddbf1;
}

.btn1 {
  padding: 10px 15px;
}

.btn2 {
  margin-left: 10px;
}
<div id="search-buttons">
  <button type="button" class="btn btn1">Google Search</button>
  <button type="button" class="btn btn2">I'm Feeling Lucky</button>
</div>

【讨论】:

  • 感谢您的回答。这个问题似乎与我发现的 Chrome 有关。在 Edge 中,:active 工作正常,但在 Chrome 中,它似乎选择了自己的边框属性来显示?
  • 它在 Windows 10 上的 Chrome 和 Edge 上都运行良好。(我将焦点颜色更改为更亮的颜色,以确保它在测试过程中确实能找到它)。你用的是什么系统?
  • 好吧!那我彻底迷路了!它是 HP 上的 Windows 10。我想我会在“我不明白的谜团”中记录这一点。
  • Chrome 中没有任何微妙的设置可以覆盖某些东西的运行时 CSS 吗?我不知道这样的设置,但我想不出别的。也许其他人会看到这一点并尝试一下,以便我们获得多数决定!
猜你喜欢
  • 2013-01-17
  • 2018-03-08
  • 2019-11-15
  • 1970-01-01
  • 2011-04-22
  • 1970-01-01
  • 2012-07-31
  • 2020-12-24
  • 1970-01-01
相关资源
最近更新 更多