カーソル:ポインタでオブジェクトをタッチ/プレスするときに青いハイライトを無効にする


83

Chromeでcursor:pointerプロパティが適用されているDivに触れると、青いハイライトが表示されます。どうすればそれを取り除くことができますか?

私は以下を試しました:

-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;

ただし、カーソルを押したときの青色の強調表示には影響しません。

回答:



87

私の知る限り、Vlad Kの答えは、一部のAndroidデバイスで問題を引き起こす可能性があります。より良い解決策:

-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-tap-highlight-color: transparent;


「上記の回答」の代替回答を明確にしてください
Nima Derakhshanjan 2015

1
rgba(0,0,0,0)代わりに使用した理由rgba(255,255,255,0)
Gaurav Aggarwal 2016年

1
@GauravAggarwalアルファスペースは理にかなっているので、rgba(0,0,0,0)とrgba(255,255,255,0)の間に違いはありません。これは私が思うケースです。rgba(255,255,255,0)は奇妙に動作しますか?
Oboo Cheng 2016

4
とにかくそれをtransparentでオーバーライドするつもりなら、なぜrgba宣言があるのですか?このプロパティでtransparentキーワードをサポートしていないWebKitバージョンはありますか?
–BoltClock

4
@BoltClock。MDNドキュメントで「transparent」キーワードが実際に見つからないため、標準ではないと思います。この質問に答える前に、この記事を読みました。** Christian Cook **のコメントアドバイスで、彼が来たのでこれを追加します。いくつかのサムスンデバイスで問題が発生しました。特定のデバイスのバグだと思います。
Oboo Cheng 2016

12

これをスタイルシートに追加し、class="no_highlights"このクラスを適用する要素に属性を追加するだけです。

no_highlights{
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

または、クラス名を削除してこれを行うことにより、すべての要素に対してグローバルにこれを行うことができます。

button,
textarea,
input,
select,
a{
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
 -webkit-tap-highlight-color: transparent;
 -webkit-user-select: none;
 -khtml-user-select: none;
 -moz-user-select: none;
 -ms-user-select: none;
  user-select: none;

}

ありがとう:)しかしとにかく。青い境界線はアクセシビリティ機能としてあります。見た目は悪いですが、それを最も必要としている人を助けます。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.