어쨌든 빠르게 클릭 할 때 Chrome에서 요소의 파란색 강조 표시를 방지하려면?


123

대부분의 경우 걱정하지 않지만 이미지 캐 러셀이 있으며 다음 및 이전 div를 빠르게 클릭하면 Chrome에서 강조 표시됩니다.

나는 outline : none을 사용해 보았지만 효과는 없었다. 거기에 해결책이 있습니까?


나는 현재의 크롬 버전에이 효과를 볼 수 없습니다
Billal Begueradj

귀하의 사용 사례가 다르다는 것을 알고 있지만 모든 링크에서 제거하려는 다른 사람에게는 그렇게하지 않는 것이 좋습니다. 나는 PWA에서 그것을 제거하려고 시도했지만 시각적 피드백이 없으면 앱이 느리다는 사용자 인식이 있습니다.
collimarco

답변:


170

선택 항목을 "지우기"위해 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.
smts

이것은 Chrome에서 강조 표시 문제 만 있고 훌륭하게 작동하기 때문에 내가 가고있는 솔루션입니다. 참여 해주신 여러분 감사합니다!
스미스

36
Android의 Chrome에서 작동하지 못했습니다. 나는 사용해야했다-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
Iwazaru

25
-webkit-tap-highlight-color: transparent; Chrome의 핵심 부분입니다
FisNaN

안드로이드의 크롬 -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 atty는이 작업을 수행하지 않습니다. 탭 강조 표시는 클릭 한 항목의 모양을 왜곡하여 시각적 언어를 왜곡하기 때문에 매우 중요합니다.
Dominic Cerisano

23
-webkit-tap-highlight-color: transparent;너무 작동하는 것 같습니다.
Bernard

1
나는 이것을 좋아했다, 터치 이벤트는 필수입니다! 이 정보는 "차트를 벗어난"유용성을 가지고 있습니다!
Berker Yüceer

1
이 솔루션은 2020 년에 저에게 효과적이었습니다
Blue Bot

66

Chrome 버전 60을 실행 중이며 이전 CSS 답변 중 어느 것도 작동하지 않았습니다.

Chrome이 outline스타일을 통해 파란색 강조 표시를 추가하고 있음을 발견했습니다 . 다음 CSS를 추가하면 문제가 해결되었습니다.

:focus {
    outline: none !important;
}

5
당신은 생명의 은인입니다.
beckah

2
이 안드로이드에 크롬 (버전 61)의 작업이다
스테판

최신 버전의 Chrome에서 작동합니다. 감사!
CrazedCoder

슈퍼, 내 믿음직한 궁금을 한 이유 user-select:none데도 점점되지 않았다
숀 T

나는 모든 것을 시도했지만 이것은 매력처럼 작동했습니다. 내 머리카락을 구 해주셔서 감사합니다!
Avinash Kumar

25

그러나, 때로는 심지어로 user-select하고 touch-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/…
Hassan Baig

나는 내가하지 평균 한 것이 분명하다고 생각 @HassanBaig 보편적 인 크로스 브라우저를 하지만 크롬의 다른 버전에서 즉 이러한 맥락에서
yanot

2
감사합니다-다른 솔루션은 저에게 효과가 없었습니다. 파란색 강조 표시가 사라지도록 커서 포인터를 제거해야했습니다
RVP

3
cursor: default아무것도 효과가 없을 때 나를 위해 트릭을했습니다.
Telarian

-2

해당 요소에 대해 select 이벤트에 대한 처리기를 만들어보십시오. 처리기에서 선택을 지울 수 있습니다.

이것 좀보세요 :

JavaScript로 텍스트 선택 지우기

선택을 지우는 예입니다. 필요한 특정 요소에서만 작동하도록 수정하기 만하면됩니다.


그래서 CSS로 고칠 수 없죠? 클릭 핸들러 내에서 선택한 텍스트를 지울 수 있습니까? 편집-예를 들어 주셔서 감사합니다. 이것은 자바 스크립트를 통해 처리되어야한다는 것을 짜증나게합니다. 나는 그것이 단지 CSS 문제 였기를 바랐다.
Smith

또한 이것이 접근성에 영향을 미칠까요?
스미스

클릭 핸들러에서 텍스트를 지울 수 있지만 순수한 CSS로 @smts 답변을 살펴보십시오.
Floremin 2014 년

-8

이것은 나를 위해 가장 잘 작동합니다.

.noSelect:hover {
  background-color: white;
}

6
이것은 나쁘고 미래의 지옥으로가는 길입니다. 위반하지 마십시오.
Mike Barwick

웹 사이트의 배경이 흰색이 아니면 어떻게 되나요?
rideon88

이것은 유지할 수 없습니다. 아무도 제발하지 마십시오.
Telarian 19.06.04
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.