とにかく、すばやくクリックしたときにChromeで要素が青くハイライト表示されないようにするにはどうすればよいですか。


123

ほとんどの場合、私は心配していませんが、画像カルーセルを使用しています。次の前のdivと前のdivをクリックすると、Chromeでハイライトされます。

私は、outline:noneを使用してみましたが、効果はありません。そこに解決策はありますか?


現在のChromeバージョンではこの影響は見られません
Billal Begueradj

あなたのユースケースが異なることを知っていますが、すべてのリンクからそれを削除したい可能性のある他の誰にとっても、そうすることはお勧めしません。私はPWAでそれを削除しようとしましたが、視覚的なフィードバックがないと、ユーザーの認識はアプリが遅いということです。
collimarco

回答:


169

JavaScriptを使用してテキストの選択をクリアして選択を「クリア」するFloreminによって提供されるリンクに加えて、純粋な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のChrome -webkit-tap-highlight-color: transparent;は、Androidでサポートするために実験したい追加のルールです。


1
Chromeのみのために、あなたはおそらく唯一必要user-selectwebkit-user-select
2014年

Chromeで強調表示の問題が発生しているだけなので問題は解決しました。参加してくれた皆さん、ありがとう!
スミス

36
AndroidのChromeでは動作しませんでした。私は使用しなければなり-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
ませんでした

25
-webkit-tap-highlight-color: transparent; はChromeの重要な部分です
FisNaN 2018

AndroidのChromeの場合-webkit-tap-highlight-color:transparent; -おかげで私のために働いた!
CK Munn

213

Android上のChromeの場合、-webkit-tap-highlight-color CSSプロパティを使用できます

-webkit-tap-highlight-colorは、リンクがタップされているときにリンクの上に表示されるハイライトの色を設定する非標準のCSSプロパティです。強調表示は、タップが正常に認識されていることをユーザーに示し、タップしている要素を示します。

強調表示を完全に削除するには、値をtransparent次のように設定します。

-webkit-tap-highlight-color: transparent;

これがアクセシビリティに影響を与える可能性があることに注意してください。outlinenone.comを参照してください


4
たとえば、タッチスクリーンで実行すると、ChromeはAndroidと同じように動作することがわかりました。私はあなたがその中のどこかをクリックするたびに青く点滅する<div>を持っていました。私がこの答えを使用したときだけ、それは止まりました。ありがとう!
Valorum

2
他のcss attysはこれを行いません。タップによる強調表示はクリックされたものの外観をゆがめ、視覚的な言語を不明瞭にするため、非常に重要です。
Dominic Cerisano 2016

23
-webkit-tap-highlight-color: transparent;あまりにも動作するようです。
バーナード

1
私はこれが好きでした、タッチイベントには必見です!この情報には、「チャート外」の有用性があります。
BerkerYüceer

1
これは、2020年に私のために機能したソリューション
Blue Bot

66

私はChromeバージョン60を実行していますが、以前のCSSの回答はどれも機能しませんでした。

Chromeがoutlineスタイルを介して青いハイライトを追加していることがわかりました。次のCSSを追加すると修正されます。

:focus {
    outline: none !important;
}

5
あなたは、サー、命の恩人です。
2017年

2
これは、Android上のChrome(バージョン61)で動作するものです
Stefan

Chromeの最新バージョンで動作します。ありがとう!
CrazedCoder 2018

スーパー、なぜ私の信頼user-select:noneがどこにも及ばないのか疑問に思っていました
Sean T

私はすべてを試しましたが、これは魅力のように働きました。私の髪を救ってくれてありがとう!
Avinash Kumar

25

ただし、場合によってはuser-selecttouch-callout電源をオフにしてcursor: pointer;も、この効果が発生することがありcursor: default;ます。そのため、設定するだけで機能します。


7
これは正解cursor: pointer;です。本当にハイライトを引き起こしています。しかし-webkit-tap-highlight-color: transparent;、より普遍的な解決策です。
yanot

1
@yanot:に関する警告を読み-webkit-tap-highlight-color、それを標識する前に、比較的普遍的なソリューションをdeveloper.mozilla.org/en-US/docs/Web/CSS/...
ハッサンBaig

@HassanBaig私が普遍的なクロスブラウザを意味しなかったのは明らかだと思いますが、この文脈では、つまりクロムの異なるバージョン全体で
yanot

2
ありがとう-他の解決策はどれも私にとってうまくいきませんでした。青いハイライトを消すためにカーソルポインターを削除する必要がありました
RVP

3
cursor: default他に何もうまくいかなかったときに私のためにトリックをしました。
Telarian

-2

それらの要素でselectイベントのハンドラーを作成してみてください。ハンドラーで選択を解除できます。

これをみて:

JavaScriptによるテキスト選択のクリア

選択を解除する例です。必要な特定の要素でのみ機能するように変更する必要があります。


CSSで修正できないのでしょ?クリックハンドラー内の選択したテキストをクリアできますか?編集-例をありがとう。これは、javascriptを介して処理する必要があることを吸引します。CSSの問題だと思っていました。
スミス

また、アクセシビリティへの影響はありますか?
スミス

クリックハンドラーでテキストをクリアできますが、@ smtsの回答を純粋なCSSで見てください。
フローレミン2014年

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