大多数时候,我并不担心,但是我有一个图像轮播,如果我快速单击下一个和上一个div,它们会在Chrome中突出显示。
我尝试使用outline:none,但没有效果。有什么解决办法吗?
大多数时候,我并不担心,但是我有一个图像轮播,如果我快速单击下一个和上一个div,它们会在Chrome中突出显示。
我尝试使用outline:none,但没有效果。有什么解决办法吗?
Answers:
除了Floremin提供的链接(该链接使用JavaScript清除文本选择以“清除”选择内容)之外,您还可以使用纯CSS来完成此操作。CSS在这里...
.noSelect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
只需将class="noSelect"
属性添加到要应用此类的元素即可。我强烈建议您尝试一下此CSS解决方案。使用JavaScript没错,我只是相信这样做可能会更容易,并且可以在代码中进行一些整理。
对于android
-webkit-tap-highlight-color: transparent;
上的chrome是一条附加规则,您可能需要尝试在Android中获得支持。
user-select
和webkit-user-select
。
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
-webkit-tap-highlight-color: transparent;
是Chrome上的关键部分
对于Android上的Chrome,您可以使用-webkit-tap-highlight-color CSS属性:
-webkit-tap-highlight-color是非标准的CSS属性,用于设置点击时突出显示在链接上方的突出显示的颜色。高亮显示向用户指示他们的敲击已被成功识别,并指示他们正在敲击哪个元素。
要完全删除突出显示,可以将值设置为transparent
:
-webkit-tap-highlight-color: transparent;
请注意,这可能会影响可访问性:请参见outlinenone.com
-webkit-tap-highlight-color: transparent;
似乎也可以。
我正在运行Chrome版本60,以前的CSS答案都无效。
我发现Chrome通过该outline
样式添加了蓝色突出显示。添加以下CSS为我修复了该问题:
:focus {
outline: none !important;
}
user-select:none
无济于事
但是,有时,甚至user-select
和touch-callout
关闭,cursor: pointer;
可能会导致这种效果,所以,只需设置cursor: default;
,它会工作。
cursor: pointer;
确实引起了人们的关注。但是-webkit-tap-highlight-color: transparent;
是更通用的解决方案。
-webkit-tap-highlight-color
标签之前,一个相对通用的解决方案:developer.mozilla.org/en-US/docs/Web/CSS/...
cursor: default
当没有其他办法起作用时,为我完成了trick俩。
尝试在这些元素上为select事件创建处理程序,然后在处理程序中可以清除选择。
看看这个:
这是清除选择的示例。您只需要对其进行修改即可仅在所需的特定元素上使用。
这对我来说是最好的:
.noSelect:hover {
background-color: white;
}