Більшість випадків мене це не турбує, але у мене є карусель із зображеннями, і якщо швидко натиснути на наступні та попередні диски, вони будуть виділені в Chrome.
Я спробував використовувати контур: жоден, але жодний ефект. Чи є рішення там?
Більшість випадків мене це не турбує, але у мене є карусель із зображеннями, і якщо швидко натиснути на наступні та попередні диски, вони будуть виділені в Chrome.
Я спробував використовувати контур: жоден, але жодний ефект. Чи є рішення там?
Відповіді:
Окрім посилання, яке надає 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, я просто вважаю, що це потенційно може бути простішим, і трохи очистити речі у вашому коді.
Для Chrome на android
-webkit-tap-highlight-color: transparent;
- це додаткове правило, з яким ви можете поекспериментувати з підтримкою в Android.
user-select
і webkit-user-select
.
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
-webkit-tap-highlight-color: transparent;
є ключовою частиною Chrome
Для Chrome на Android ви можете використовувати властивість -webkit-tap-select-color CSS :
-webkit-tap-select-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
зробив трюк для мене, коли більше нічого не працювало.
Спробуйте створити обробник для події вибору для цих елементів, і в обробці ви можете очистити вибір.
Погляньте на це:
Очистити вибір тексту за допомогою JavaScript
Це приклад очищення виділення. Вам потрібно буде лише змінити його, щоб він працював лише на конкретному елементі, який вам потрібен.
Це найкраще для мене:
.noSelect:hover {
background-color: white;
}