【问题标题】:<a href="#"> the style changes on phone, when tapped<a href="#"> 点击时手机上的样式会发生变化
【发布时间】:2019-03-26 18:51:00
【问题描述】:

我正在尝试在我的“a”标签上创建一个 :active 样式,但在手机上它与我写的不一样。

我做了以下事情:

a {
 display: block;
 background-color: lightblue;
 width: 100px;
 color: black;
}

a:active {
 background-color: skyblue;
}

它应该执行以下操作: 有“a”标签,有浅蓝色背景,当我点击它时,它的背景颜色变为天蓝色。是的,它发生了,但是如果我添加一个 href="ANYTHING",然后,当我点击它时,它的背景颜色会比天蓝色更暗,并且文本的颜色会变成有点蓝色。

对不起我的英语,我尽力了。

【问题讨论】:

  • 您的链接包含什么? ...如果是数字,请尝试a[href^='tel'],因为电话通常具有内置的数字样式,可以解释为电话号码
  • 还可以尝试添加 a:hovera:focus 伪类,因为点击(第一个)可能会使链接处于悬停或焦点状态
  • 顺便说一句,请注意,您应该提供一个minimal reproducible example,以重现该问题,以便我们看到它的行为。

标签: html css


【解决方案1】:

您可能需要为其余与元素相关的伪类设置自定义样式:https://developer.mozilla.org/en-US/docs/Web/CSS/:link

尝试像这样将访问过的列表添加到列表中:

a:active, a:visited {
    background-color: skyblue;
}

【讨论】:

  • 请注意,添加 a:any-link 会将该样式添加到元素中,无论它是否被访问过。正如在答案中链接的 MDN 页面上找到的那样。
  • 没有一个伪类能解决我的问题。我认为点击手机与点击鼠标不同,因为如果我在计算机上按住左键单击,它不会选择单词,而手机却会。我知道有一种方法可以更改滚动条的样式,或者选择文本背景时的颜色。有什么方法可以以这种方式或更困难的方式解决我的问题吗?
猜你喜欢
  • 1970-01-01
  • 2013-01-02
  • 2015-07-02
  • 2014-07-12
  • 2021-12-16
  • 1970-01-01
  • 1970-01-01
  • 2019-05-15
相关资源
最近更新 更多