kmaroff
2/19/2019 - 1:51 PM

Кастомные CheckBox по Вадиму Макееву

<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="utf-8">
	<title>Чекбокс совместимый</title>
	<style>
		body {
			margin: 0;
			padding: 25px;
			font-family: sans-serif;
		}

		/* Option */

		.option {
			display: block;
			margin-bottom: 0.5em;
		}

		/* Check */

		.check {
			padding-left: 1.2em;
		}

		.check__input {
			position: absolute;
			width: 1px;
			height: 1px;
			overflow: hidden;
			clip: rect(0 0 0 0);
		}

		.check__box {
			position: absolute;
			margin-top: 0.2em;
			margin-left: -1em;
			width: 0.6em;
			height: 0.6em;
			overflow: hidden;
			border-radius: 0.05em;
			background-color: white;
			background-repeat: no-repeat;
			background-position: 50% 50%;
			box-shadow: 0 0 0 0.1em #4A90E2;
		}

		/* Checked */

		.check__input:checked + .check__box {
			background-color: #4A90E2;
			background-image: url(https://cdn.glitch.com/d6162378-5823-4160-a555-3d9789bd2b92%2Fcheck.svg?1550563475518);
		}

		/* Focused */

		.check__input:focus + .check__box {
			box-shadow:
				0 0 0 0.1em #4A90E2,
				0 0 0 0.2em #7ED321;
		}

		/* Disabled */

		.check__input:disabled + .check__box {
			box-shadow: 0 0 0 0.1em #9B9B9B;
		}

		.check__input:checked:disabled + .check__box {
			background-color: #9B9B9B;
		}
	</style>
</head>
<body>
	<label class="check option">
		<input class="check__input" type="checkbox">
		<span class="check__box"></span>
		Первый
	</label>
	<label class="check option">
		<input class="check__input" type="checkbox" checked>
		<span class="check__box"></span>
		Второй
	</label>
	<label class="check option">
		<input class="check__input" type="checkbox" disabled>
		<span class="check__box"></span>
		Третий
	</label>
	<label class="check option">
		<input class="check__input" type="checkbox" checked disabled>
		<span class="check__box"></span>
		Четвёртый
	</label>
</body>
</html>