Przez większość czasu się tym nie martwię, ale mam karuzelę obrazów i jeśli szybko kliknę na następny i poprzedni element div, zostaną one podświetlone w Chrome.
Próbowałem użyć konturu: brak, ale bez efektu. Czy są jakieś rozwiązania?
css
google-chrome
Kowal
źródło
źródło
Odpowiedzi:
Oprócz linku dostarczonego przez Floremin , który czyści zaznaczenie tekstu za pomocą JavaScript w celu „wyczyszczenia” zaznaczenia, możesz również użyć czystego CSS, aby to osiągnąć. CSS jest tutaj ...
Po prostu dodaj
class="noSelect"
atrybut do elementu, do którego chcesz zastosować tę klasę. Gorąco polecam wypróbowanie tego rozwiązania CSS. Nie ma nic złego w używaniu JavaScript, po prostu uważam, że może to być potencjalnie łatwiejsze i trochę uporządkować kod.Chrome na Androida
-webkit-tap-highlight-color: transparent;
to dodatkowa reguła, z którą możesz poeksperymentować, aby uzyskać obsługę Androida.źródło
user-select
iwebkit-user-select
.-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
-webkit-tap-highlight-color: transparent;
jest kluczową częścią w ChromeW przypadku przeglądarki Chrome na Androida możesz użyć właściwości CSS -webkit-tap-highlight-color :
Aby całkowicie usunąć podświetlenie, możesz ustawić wartość na
transparent
:Pamiętaj, że może to mieć wpływ na dostępność: zobacz outlinenone.com
źródło
-webkit-tap-highlight-color: transparent;
wydaje się też działać.Używam Chrome w wersji 60 i żadna z poprzednich odpowiedzi CSS nie działała.
Odkryłem, że Chrome dodaje niebieskie podświetlenie poprzez
outline
styl. Dodanie następującego CSS rozwiązało problem:źródło
user-select:none
donikąd nie prowadziAle czasami, nawet przy włączonym
user-select
itouch-callout
wyłączonym,cursor: pointer;
może powodować ten efekt, więc po prostu ustawcursor: default;
i zadziała.źródło
cursor: pointer;
naprawdę powoduje wyróżnienie. Ale-webkit-tap-highlight-color: transparent;
jest bardziej uniwersalnym rozwiązaniem.-webkit-tap-highlight-color
przed oznaczeniem go jako względnie uniwersalnego rozwiązania : developer.mozilla.org/en-US/docs/Web/CSS/…cursor: default
załatwił mi sprawę, gdy nic innego nie działało.Spróbuj utworzyć procedurę obsługi dla zdarzenia select na tych elementach, a w module obsługi możesz wyczyścić zaznaczenie.
Spójrz na to:
Wyczyść zaznaczenie tekstu za pomocą JavaScript
To przykład wyczyszczenia zaznaczenia. Wystarczy go zmodyfikować, aby działał tylko na określonym elemencie, którego potrzebujesz.
źródło
To działa najlepiej dla mnie:
źródło