on&on
[React] styled-components에서 input 체크박스 커스텀하기 본문
이용약관 동의 페이지를 만들던 중에 기본 체크박스의 형태를 바꿔야 했는데 styled-components를 활용하여 체크박스를 커스텀해본 적이 없기 때문에 이번 기회에 방법을 찾아보면서 공부해봤다.
html 코드는 아래와 같다.
<label htmlFor="agree">
<input type="checkbox" name="" id="agree" />
<span>두마켓의 이용약관 및 개인정보처리방침에 대한 내용을 확인하였고 동의합니다.</span>
</label>
실행화면 (크롬에서 제공하는 기본 UI 체크박스)
appearnce 속성 활용하기
appearance CSS 속성은 운영 체제 테마를 기반으로 하는 UI 컨트롤의 기본 모양을 제어하는 데 사용된다.
appearance : none;을 설정하면 네이티브 디자인을 해제할 수 있다. 그리고 원하는 형태의 디자인으로 속성을 설정하면 된다.
export const Check = styled.input`
appearance: none;
width: 20px;
height: 20px;
border: 1px solid #c4c4c4;
&:checked {
background: url(${CheckImg}) no-repeat center / 80%;
border: 1px solid #1c1c1c;
}
`;
이런 식으로 appearance 속성을 활용하면 간단하게 체크박스 커스텀이 가능하다.
하지만 appearance 속성은 IE 지원을 하지 않는다는 점...
'React' 카테고리의 다른 글
[React] CRA로 만든 프로젝트 aws S3로 배포하기 (0) | 2023.05.23 |
---|---|
[React] Modal 출력 시 스크롤 막기 (1) | 2023.05.09 |
[React] react-hook-form의 setFocus, reset 활용하기 (0) | 2023.02.04 |
[React] styled-components로 커스텀한 버튼 Link에 적용하기 (0) | 2023.02.01 |
[React] Create React App에서 제공하는 Custom Templates 활용하기 (0) | 2022.12.08 |
Comments