###前提・実現したいこと
ガチ初心者です。
ラジオボタンを使ったコンテンツの表示・非表示をコピペして使用していた所ラジオボタンのデザインを変えたくて、そのデザインコードを記述したいのですが、デザインを変えるとラジオボタンの表示・非表示が上手く機能しません。両方を両立させるにはどうしたらいいのか教えてください。
###発生している問題・エラーメッセージ
ラジオボタンでコンテンツ表示・非表示
###該当のソースコード
ラジオボタンのデザインコード
.checkbox-wrap{
}
.label-checkbox input[type="checkbox"]{
display: none;
}
.label-checkbox{
cursor: pointer;
position: relative;
}
.label-checkbox .lever{
display: block;
color: #ccc;
font-weight: normal;
display: inline-block;
padding: 8px 40px;
border: 1px solid #e5e5e5;
border-radius:20px;
margin-right: 10px;
margin-bottom: 10px;
-webkit-transition: all 300ms cubic-bezier(1, 0, 0, 1);
-moz-transition: all 300ms cubic-bezier(1, 0, 0, 1);
-o-transition: all 300ms cubic-bezier(1, 0, 0, 1);
transition: all 300ms cubic-bezier(1, 0, 0, 1);
-webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.label-checkbox .lever:before{
content:'';
position: absolute;
left: 4px;
top:4px;
border: 1px solid #e5e5e5;
background: #fff;
width: 30px;
height: 30px;
border-radius:100%;
-webkit-transition: all 300ms cubic-bezier(1, 0, 0, 1);
-moz-transition: all 300ms cubic-bezier(1, 0, 0, 1);
-o-transition: all 300ms cubic-bezier(1, 0, 0, 1);
transition: all 300ms cubic-bezier(1, 0, 0, 1);
-webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.label-checkbox:hover .lever:before{
border-color: #ddd;
}
.label-checkbox input[type="checkbox"]:checked + .lever{
background: #5cb85c;
color: #fff;
}
.label-checkbox input[type="checkbox"]:checked + .lever{
border-color:#5cb85c;
}
.label-checkbox input[type="checkbox"]:checked + .lever:before{
left: 100%;
margin-left: -44px;
border-color: #fff;
}
.radio-wrap{
}
.label-radio input[type="radio"]{
display: none;
}
.label-radio{
cursor: pointer;
color: #828c9a;
font-weight: normal;
letter-spacing: 0;
display: inline-block;
position: relative;
margin-right: 20px;
}
.label-radio .lever:before{
content:'';
border: 1px solid #ddd;
width: 20px;
height: 20px;
margin-right: 10px;
display: inline-block;
vertical-align: middle;
border-radius:10px;
-webkit-transition: all 800ms cubic-bezier(1, 0, 0, 1);
-moz-transition: all 800ms cubic-bezier(1, 0, 0, 1);
-o-transition: all 800ms cubic-bezier(1, 0, 0, 1);
transition: all 800ms cubic-bezier(1, 0, 0, 1);
-webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.label-radio input[type="radio"]:checked + .lever:before{
opacity: 0;
background: #eee;
border-color: #eee;
transform:scale(2);
}
.label-radio .lever:after{
content:'';
opacity: 0;
position: absolute;
left: 8px;
top: 0px;
width:8px;
height: 16px;
border-right: 2px solid #ddd;
border-bottom: 2px solid #ddd;
transform:rotate(-200deg);
-webkit-transition: all 400ms cubic-bezier(1, 0, 0, 1);
-moz-transition: all 400ms cubic-bezier(1, 0, 0, 1);
-o-transition: all 400ms cubic-bezier(1, 0, 0, 1);
transition: all 400ms cubic-bezier(1, 0, 0, 1);
-webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.label-radio input[type="radio"]:checked + .lever:after{
opacity: 1;
position: absolute;
left: 8px;
top: 0px;
width:8px;
height: 16px;
border-right: 2px solid #5bc0de;
border-bottom: 2px solid #5bc0de;
transform:rotate(40deg);
}
###試したこと
nameとかidとかclassを一緒にしてみたりしましたが初心者すぎて調べても解らなかったのでここに質問させていただきました。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報