https://codesandbox.io/s/frosty-haze-r4v9r
Я заменяю радиовход по умолчанию на пользовательский, используя псевдо-классы, и пытаюсь понять, как именно он работает.
Почему высота и ширина 1px на элементе my: before не отображаются, когда отмечен, но что-либо из 2px отображается правильно?
HTML & CSS рендер
.css-19erv9f {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
cursor: pointer;
}
.css-19erv9f:before {
content: "";
position: absolute;
z-index: 1;
top: 0;
left: 0;
width: 1px;
height: 1px;
background: blue;
-webkit-transform: scale(0, 0);
-ms-transform: scale(0, 0);
transform: scale(0, 0);
}
.css-19erv9f:checked:before {
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}
.css-19erv9f:focus {
outline: none;
}
.css-19erv9f:after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 15px;
height: 15px;
border: 1px solid pink;
}
<div id="root">
<div class="App"><input type="radio" class="css-19erv9f"></div>
</div>