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

CSS만으로 간단한 별점 평점 UI 만드는 방법 (Font Awesome 활용)

웹 페이지에서 상품 리뷰나 콘텐츠 평가를 표현할 때 자주 사용되는 별점(star rating) UI는 CSS와 아이콘 폰트만으로도 손쉽게 구현할 수 있습니다. 이 글에서는 Font Awesome의 별 아이콘과 몇 줄의 CSS 스타일을 조합하여 간단한 별점 모양을 만드는 방법을 소개합니다.

예제 코드

아래 코드는 Font Awesome 4.7 아이콘 라이브러리를 CDN으로 불러온 뒤, 별 아이콘에 색상과 테두리 스타일을 적용하는 전체 예제입니다.

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"/>
<style>
    body {
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
        margin: 30px;
    }
    .fa {
        font-size: 30px;
        color: grey;
    }
    .rated {
        color: rgb(255, 0, 0);
        border: 2px solid yellow;
    }
</style>
</head>
<body>
<h1>Star Rating Example</h1>
<span class="fa fa-star rated"></span>
<span class="fa fa-star rated"></span>
<span class="fa fa-star rated"></span>
<span class="fa fa-star"></span>
<span class="fa fa-star"></span>
</body>
</html>

코드 설명

핵심 동작 원리는 다음과 같습니다.

1. Font Awesome 로드 — <link> 태그로 CDN에서 Font Awesome CSS 파일을 가져오면, fa fa-star 클래스만으로 별 모양 아이콘을 사용할 수 있습니다.

2. 기본 별 스타일 — .fa 선택자로 모든 아이콘의 크기를 30px로 지정하고, 기본 색상은 회색(grey)으로 설정했습니다. 이것이 '평점 없음' 상태의 별입니다.

3. 평점이 매겨진 별 — .rated 클래스가 추가된 별은 빨간색(rgb(255, 0, 0))으로 채워지고, 노란색 2px 테두리가 적용되어 선택된 상태임을 한눈에 알 수 있습니다.

실행 결과

위 코드를 브라우저에서 실행하면 다음과 같은 화면이 출력됩니다. 앞의 세 개 별은 빨간색 배경과 노란색 테두리로 강조되어 있고, 나머지 두 개 별은 회색으로 표시되어 '5점 만점에 3점'이라는 평점을 직관적으로 보여줍니다.

응용 팁

실무에서는 색상을 노란색(#FFD700) 계열로 바꾸거나, JavaScript와 함께 사용해 클릭 시 평점이 동적으로 변경되는 인터랙티브 별점 위젯으로 확장할 수도 있습니다. 또한 Font Awesome 대신 SVG 아이콘이나 유니코드 문자(★)를 활용하면 외부 라이브러리 없이도 비슷한 효과를 낼 수 있습니다.