スイッチの切替的な見た目のアレにする。
やっていく
こういう感じのやつ。
html
<input type="checkbox" name="" value="">
最低限inputだけあればいい。だから設置に手間はない感じ。
css(SCSS)
要点。
input[type="checkbox"]{
width: 36px;
height: 20px;
border-radius: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
display: inline-block;
position: relative;
&::before{
content: "";
width: 36px;
height: 6px;
border-radius: 3px;
display: block;
background-color: #ccc;
position: absolute;
left: 0;
top: calc(50% - 3px);
}
&::after{
content: "";
width: 20px;
height: 20px;
display: block;
border-radius: 50%;
background-color: #111;
position: absolute;
left: 0;
top: calc(50% - 10px);
transition: left .2s, background-color .2s;
}
&:checked::after{
background-color: blue;
left: 16px;
}
}
inputは疑似要素を使えるので、2つとも使えば作れるという話。画像の切り替えじゃないからアニメーションもつけられる。上記はチェック時に動くようにしてるけど、:hoverも作ればもっとリッチになる。影をつけるとか、丸の色を変えるとか。
inputの領域内に疑似要素を配置してあるからちゃんとクリックできる。見た目以外は通常通りのcheckboxだから<label>で囲うなりforで紐付けるなりしても普通に使える。
そんな感じで。
コメント