Coding/JavaScript
체크박스를 버튼처럼 만들어보자
Lv. 35 라이츄
2025. 5. 19. 23:51
왜 가끔 그런거 있다. 여러개(혹은 하나)를 선택하는 선택지인데 버튼같이 생긴 거. 그럼 이건 체크박스거나 라디오 버튼이라는 얘기인데, 이걸 체크박스로 만들 수 있나?
를 해볼거다. 이건 뭐
<div class="wrapper">
<input type="checkbox" id="checkbox1" name="pringles">
</div>
일단 체크박스를 만들고
input[type="checkbox"] {
width: 100px;
height: 33px;
appearance: none;
background-color: #ffffff;
color: #000000;
border: 1px solid #000000;
}
input[type="checkbox"]:checked {
background-color: #000000;
color: #ffffff;
}
appearance: none;을 줘서 기존의 네모 상자를 없애면 이런 식으로 커스터마이징이 가능하다. 그럼 안에 글자는요?
input[type="checkbox"]:before {
content: "프링글스 오리지날";
}
나는 이렇게 줬다. :before 쓴 다음 콘텐츠에 이렇게 주면 버튼 안에 글자가 들어간다. 참고로 선택시에도 따로 줄 필요는 없다.
input[type="checkbox"] {
width: 220px;
height: 45px;
font-size: 12pt;
appearance: none;
text-align: center;
vertical-align: middle;
line-height: 2em;
margin: 10px;
padding: 6px;
border-radius: 10px;
}
.original {
background-color: #ffffff;
color: #cc0000;
border: 1px solid #cc0000;
}
.original:checked {
background-color: #cc0000;
color: #ffffff;
}
.original:before {
content: "프링글스 오리지날";
}
.sourcream {
background-color: #ffffff;
color: #58bf6d;
border: 1px solid #58bf6d;
}
.sourcream:checked {
background-color: #58bf6d;
color:#ffffff;
}
.sourcream:before {
content: "프링글스 사워크림&어니언";
}
.cheese {
background-color: #ffffff;
color: #ef901b;
border: 1px solid #ef901b;
}
.cheese:checked {
background-color: #ef901b;
color: #ffffff;
}
.cheese:before {
content: "프링글스 치지치즈";
}
.hot {
background-color: #ffffff;
color: #3a2c28;
border: 1px solid #3a2c28;
}
.hot:checked {
background-color: #3a2c28;
color: #ffffff;
}
.hot:before {
content: "프링글스 핫&스파이시";
}
.galbi {
background-color: #ffffff;
color: #74a8bd;
border: 1px solid #e99b55;
}
.galbi:checked {
background-color: #e99b55;
color: #ffffff;
}
.galbi:before {
content: "프링글스 한국식 숯불갈비";
}
버튼이 다섯개...
See the Pen checkbox button by koreanraichu (@koreanraichu) on CodePen.
맛별로 체크박스 색깔이 다 다르다. 이것때문에 CSS가 늘어난거임…