# input type="radio", type="checkbox" customizing




퍼블리싱을 하다보면 디자인이 된 input 을 종종 작업하게 됩니다.

오늘은 input[type="radio"], input[type="checkbox"] 커스터마이징에 대한 포스팅을 해볼까 합니다.



Result


이렇게 만들어볼거에요 : )




HTML
<!-- 라디오버튼_on -->
<input type="radio" id="on" name="radio" checked>
<label for="on">라디오버튼_on</label>

<!-- 라디오버튼_off -->
<input type="radio" id="off" name="radio">
<label for="off">라디오버튼_off</label>

- 웹접근성에 맞게, input 태그의 id 값과 label 태그의 for 값을 맞춰줍니다. 
   (이렇게 하면 label 태그를 클릭했을 때, input과 연결시킬 수 있어요!)
input 태그의 name 값을 통일시켜서 같은 목적의 radio 버튼임을 명시해줍니다.
   (name 값을 맞춰주지 않으면, 각각 별개의 radio 버튼이 되어버려요)


CSS
.radio {
    visibility: hidden;
    position: absolute;
}
.radio + label {
    display: inline-block;
    margin-right: 15px;
    padding-left: 20px;
    font-size: 16px;
    color: #333333;
    background: url('/img/radio_off.png') left no-repeat;
    cursor: pointer;
}
.radio:checked + label {
    background: url('/img/radio_on.png') left no-repeat;
}

- radio{ position: absolute; } 의 값은 마크업, 혹은 디자인에 따라 absolute, relative 혹은  static(default 값)으로 조정이 필요합니다.
(상황에 맞게 작업해주셔야해요, 레이아웃이 깨질 수도 있어요!)
- 작업하시면서 radio 이미지 사이즈에 맞에 위치값들도 조정해주세요 : )



네. 이렇게 아주 간단히 input 커스텀을 해보았어요
input[type="checkbox"] 역시 radio 와 동일하게 작업해주시면 됩니다!

끝!

'Front-end dev > HTML || CSS' 카테고리의 다른 글

Tag  (794) 2020.01.06
ios(safari) input:disabled  (1271) 2018.09.21
내 입맛에 맞춘 Reset.css  (520) 2018.04.03
Normalize.css (v8.0.0)  (527) 2018.04.03
시멘틱 마크업을 위한 콘텐츠 요소 판별  (586) 2018.03.30

+ Recent posts