CSSでおしゃれなフラットデザインのラジオボタンのコード [ CODEPEN ]

PR
CSSでデザインされたラジオボタン
CSSでデザインされたラジオボタンです
色だけウェブサイトに合わせて変更すればすぐにでも使えるコードですね
背景色を白色にしてしまうと、上手く表示できなくなるんで
.checkにz-indexを付けて表示順位を上げて、lableの背景色を白ベースから他の色に変えればOK
動作は標準のラジオボタンは画面外に飛ばして
divのボーダーを使って、チェックがあるかどうかをスイッチにしているようです
– CODE –
HTML
<div class="container"> <ul> <li> <input type="radio" id="f-option" name="selector"> <label for="f-option">Cat</label> <div class="check"><div class="inside"></div></div> </li> <li> <input type="radio" id="s-option" name="selector"> <label for="s-option">More Cats</label> <div class="check"><div class="inside"></div></div> </li> <li> <input type="radio" id="t-option" name="selector"> <label for="t-option">A lot of cats</label> <div class="check"><div class="inside"></div></div> </li> </ul> </div>
CSS
@import url('http://fonts.googleapis.com/css?family=Lato');
body, html{
height: 100%;
background: #222;
}
.container{
display: block;
position: absolute;
margin: auto;
height: 250px;
width: 400px;
bottom: 0; left:0; right: 0; top:0;
padding: 0;
}
.container ul{
list-style: none;
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
ul li{
color: #FFF;
display: block;
position: relative;
float: left;
width: 100%;
height: 33.333%;
}
ul li input[type=radio]{
position: absolute;
top: -9999px;
}
ul li label{
display: block;
position: relative;
font-family: 'Lato', sans-serif;
font-weight: 300;
font-size: 1.35em;
text-transform: uppercase;
padding: 25px 25px 25px 80px;
margin: 10px auto;
height: 30px;
z-index: 9;
background: rgba(255,255,255,0.15);
cursor: pointer;
-webkit-transition: all 0.45s linear;
}
ul li label:hover{
background: rgba(255,255,255,0.45);
}
ul li .check{
display: block;
position: absolute;
border: 5px solid #FFF;
border-radius: 100%;
height: 25px;
width: 25px;
top: 38%;
left: 6%;
}
input[type=radio]:checked ~ .check {
border: 5px solid #0DFF92;
}
input[type=radio]:checked ~ .check .inside{
display: block;
position: relative;
background: #0DFF92;
border-radius: 100%;
height: 70%;
width: 70%;
top: 15%;
margin: auto;
}
input[type=radio]:checked ~ label{
color: #0DFF92;
}
PR


COMMENT