Есть ли способ убрать синюю подсветку для флажка? - PullRequest
2 голосов
/ 19 апреля 2020

Я заметил, что этот флажок иногда отображает синюю подсветку при проверке в определенных браузерах. Я не совсем уверен, откуда это взялось, поскольку мне удалось увидеть такое поведение только в Safari на моем iPhone, а также в режиме устройства из Chrome Developer Tools. Однако настольные компьютеры Chrome и Firefox вообще не включают выделение.

enter image description here

.center {
	top: 50%;
	left: 50%;
	position: absolute;
	transform: translate(-50%, -50%);
}

.switch {
	width: 120px;
	height: 68px;
	position: relative;
	display: inline-block;
}

.switch input {
	visibility: hidden;
}

.slider {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	cursor: pointer;
	position: absolute;
	transition: 0.375s;
	border-radius: 68px;
	background-color: #414b55;
}

.slider:before {
	left: 8px;
	bottom: 8px;
	width: 52px;
	height: 52px;
	content: "";
	position: absolute;
	transition: 0.375s;
	border-radius: 50%;
	background-color: #ffffff;
}

input:checked + .slider {
	background-color: #fa6400;
}

input:checked + .slider:before {
	transform: translateX(52px);
}
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Example</title>
	</head>
	<body>
		<div class="center">
			<label class="switch">
				<input type="checkbox">
				<span class="slider"></span>
			</label>
		</div>
	</body>
</html>

Может кто-нибудь объяснить, откуда он и как убрать этот эффект?

1 Ответ

4 голосов
/ 19 апреля 2020

Это может быть tap-highlight-color, который можно сделать прозрачным с помощью следующего кода:

.switch {
-webkit-tap-highlight-color: transparent
}

См. Также { ссылка }, в котором упоминается это, а также user-select: none и -webkit-touch-callout: none подход.

Но для Chrome на мобильном телефоне вам все равно нужна настройка -webkit-tap-highlight-color.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...