Computer >> 컴퓨터 >  >> 프로그래밍 >> CSS

CSS만으로 체크 표시(✓) 만드는 방법 – 실전 예제 2가지

웹 페이지에서 체크 표시(틱)는 항목 선택 여부나 작업 완료 상태를 나타낼 때 널리 사용되는 UI 요소입니다. 별도의 이미지 파일 없이 CSS만으로도 가볍고 확장성 있는 커스텀 체크마크를 만들 수 있습니다. 이번 글에서는 대표적인 두 가지 구현 방법을 예제 코드와 함께 살펴보겠습니다.

방법 1. 가상 요소(::before, ::after)로 만드는 체크마크

첫 번째 방법은 하나의 div 요소에 ::before::after 가상 요소를 배치한 뒤, 각각 -45deg로 회전시켜 체크 모양의 두 선을 그리는 기법입니다. 색상, 굵기, 크기를 세밀하게 조절할 수 있어 디자인 커스터마이징에 특히 유용합니다.

<!DOCTYPE html>
<html>
<style>
div {
   margin: 2%;
   position: relative;
   width: 40px;
   height: 40px;
   box-shadow: inset 0 0 12px lightblue;
}
div::before {
   content: "";
   position: absolute;
   width: 8px;
   top: 50%;
   height: 50%;
   border-radius: 2px;
   background-color: rgb(123,45,20);
   transform: translateX(12px) rotate(-45deg);
   transform-origin: left bottom;
   z-index: +1;
}
div::after {
   content: "";
   position: absolute;
   bottom: 0;
   height: 8px;
   width: 100%;
   border-radius: 2px;
   background-color: rgb(200,52,120);
   transform: translateX(12px) rotate(-45deg);
   transform-origin: left bottom;
}
</style>
<body>
Custom mark!
<div></div>
</body>
</html>

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

CSS만으로 체크 표시(✓) 만드는 방법 – 실전 예제 2가지

방법 2. 테두리(border)와 회전(transform)으로 만드는 체크마크

두 번째 방법은 훨씬 더 간결합니다. 요소의 아래쪽(border-bottom)과 오른쪽(border-right) 테두리만 지정한 후, 전체를 45deg로 회전시키면 자연스러운 체크 표시가 완성됩니다. 몇 줄의 코드로 빠르게 적용할 수 있어 실무에서도 자주 활용되는 방식입니다.

<!DOCTYPE html>
<html>
<style>
body {
   padding: 2%;
   text-align: center;
}
div {
   display: inline-block;
   height: 100px;
   width: 35px;
   border-bottom: 10px solid chartreuse;
   border-right: 10px solid chartreuse;
   transform: rotate(45deg);
}
</style>
<body>
<div></div>
</body>
</html>

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

CSS만으로 체크 표시(✓) 만드는 방법 – 실전 예제 2가지

마무리

이처럼 CSS의 가상 요소와 transform, border 속성만 조합하면 이미지 없이도 다양한 스타일의 체크 표시를 만들 수 있습니다. 정교한 디자인이 필요하다면 첫 번째 방법을, 간단하고 빠른 구현이 필요하다면 두 번째 방법을 활용해 보세요. 두 기법 모두 반응형 환경에서도 안정적으로 동작하므로 프로젝트 성격에 맞게 선택하시면 됩니다.