폰트어썸 상품 리뷰 별점 만들기

폰트어썸(FontAwesome)으로 쉽게 별점 만드는 방법
2 min read
폰트어썸 상품 리뷰 별점 만들기 / 별점 반개 표시

쇼핑몰이나 전자상거래(eCommerce) 사이트에서 상품 리뷰 평점을 매길 때 별점을 사용합니다. 별 모양 특수문자 기호를 사용하여 반만 색칠된 별 모양을 만들 수 있습니다. 하지만 스타일이 잘 꾸며져 있지 않아 별로입니다.

또 다른 방법으로 별 모양 이미지 PNG 파일을 사용하여 투명한 배경 위로 별 이미지를 겹쳐서 표시할 수 있습니다. 그러나 이 방법도 수정하기가 어렵고 번거롭습니다. 이 포스팅에서는 폰트 어썸(FontAwesome)으로 간편하게 별점 만드는 방법에 대해 살펴봅니다.

목차

별점 기능 구현

이 기능의 작동 원리는 매우 간단합니다. 제이쿼리없이 폰트어썸과 자바스크립트로만 간단한 코드를 추가하고 리뷰 점수를 수정하면 별점 기능이 자동으로 구현됩니다.

별점 주기를 반개(0.5) 단위로 표시할 수 있습니다.

상품 리뷰 별점 예시

전체 코드

<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.8.2/css/all.min.css'/>

<div class='RatingStar'>
  <div class='RatingScore'>
    <div class='outer-star'><div class='inner-star'></div></div>
  </div>
</div>

<style>
.inner-star::before{color: #FF9600;}
.outer-star {position: relative;display: inline-block;color: #CCCCCC;}
.inner-star {position: absolute;left: 0;top: 0;width: 0%;overflow: hidden;white-space: nowrap;}
.outer-star::before, .inner-star::before {content: '\f005 \f005 \f005 \f005 \f005';font-family: 'Font Awesome 5 free';font-weight: 900;}
</style>

<script>/*<![CDATA[*/ ratings = {RatingScore: 4.5} 
totalRating = 5;table = document.querySelector('.RatingStar');function rateIt() {for (rating in ratings) {ratingPercentage = ratings[rating] / totalRating * 100;ratingRounded = Math.round(ratingPercentage / 10) * 10 + '%';star = table.querySelector(`.${rating} .inner-star`);numberRating = table.querySelector(`.${rating} .numberRating`);star.style.width = ratingRounded;numberRating.innerText = ratings[rating];}}rateIt()
/*]]>*/</script>

FontAwesome

  • 폰트어썸 5 무료 버전 cdn를 불러옵니다.
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.8.2/css/all.min.css"/>

HTML

  • 'RatingScore'는 점수를 매기기 위한 역할입니다.
  • 'outer-star'는 별점의 배경 역할입니다.
<div class='RatingStar'>
  <div class='RatingScore'>
    <div class='outer-star'><div class='inner-star'></div></div>
  </div>
</div>

CSS

  • 별점의 색상을 바꾸려면 'inner-star'의 color를 수정합니다.
  • 별점의 배경색을 바꾸려면 'outer-star'의 color 를 수정합니다.
  • 별점 갯수를 10개로 변경하려면 '\f005 \f005 \f005 \f005 \f005 \f005 \f005 \f005 \f005 \f005' 으로 변경합니다.
.inner-star::before{color: #FF9600;}
.outer-star {position: relative;display: inline-block;color: #CCCCCC;}
.inner-star {position: absolute;left: 0;top: 0;width: 0%;overflow: hidden;white-space: nowrap;}
.outer-star::before, .inner-star::before {content: '\f005 \f005 \f005 \f005 \f005';font-family: 'Font Awesome 5 free';font-weight: 900;}

Javascript

  • 별점의 평점은 0 부터 5 까지 0.5 단위로 별점을 매길 수 있습니다.
<script>/*<![CDATA[*/ ratings = {RatingScore: 4.5} 
totalRating = 5;table = document.querySelector('.RatingStar');function rateIt() {for (rating in ratings) {ratingPercentage = ratings[rating] / totalRating * 100;ratingRounded = Math.round(ratingPercentage / 10) * 10 + '%';star = table.querySelector(`.${rating} .inner-star`);numberRating = table.querySelector(`.${rating} .numberRating`);star.style.width = ratingRounded;numberRating.innerText = ratings[rating];}}rateIt()
/*]]>*/</script>

You may like these posts

  • Blogger에서 404 에러 페이지가 발생하는 이유는 블로그에서 관련 링크를 삭제하거나 또는 검색 엔진이 블로그에 있는 글의 URL을 잘못 크롤링하여 발생할 수 있습니다. 이와 같은 오류가 발생한 URL은 다음과 같은 방법으로 해결 할 수 있습니다. 오류가 발생한 URL을 블로그 …
  • 모바일 안드로이드(Android)와 아이폰(iOS) 에서 브라우저 주소창이 나오는 상단바의 배경색을 설정할 수 있습니다. meta 태그를 이용해서 자신의 웹 사이트의 테마 색상과 일치시키면 방문자에게 만족스러운 모바일 서비스를 제공할 수 있습니다. 취향에 따라 색상을 마음대로 설정할 수 있습…
  • Live Demo Voice Stop Google Voice 음성 지원은 방문자가 목소리와 함께 웹을 검색하고 읽을 수 있게 해줍니다. 이 포스팅에서는 블로그에 음성 안내 지원 기능을 추가하는 방법에…
  •   비밀번호 설정, 암호 설정하기 Blogger에서 누구에게나 공개 되지 않는 개인적인 글을 작성해야 한다면, 비밀번호로 페이지를 잠가서 아무도 페이지의 내용을 볼 수 없도록 할 수 있습니다. 이 포스트에서는 블로거에서 비밀번호로 게시물이나 페이지를 보호하는 방법을 …
  • CSS는 HTML 또는 XHTML을 기반으로 하는 블로그나 웹 사이트의 중요한 구성 요소 중 하나입니다. HTML만으로 웹 페이지를 표시하기에는 충분하지 않기 때문에 HTML의 모양새를 개선하기 위해서 CSS가 꼭 필요합니다. 반대로 HTML 없이 CSS만 사용하도 페이지가 표시되지…
  • 안드로이드에서 구글 블로그 모바일 앱 사용하기 구글 블로그 모바일 앱을 사용하면 블로그 게시글을 게시, 수정할 수 있습니다. 안드로이드 사용자는 누구나 이 앱을 다운로드하여 언제 어디서나 Blogger 앱로 포스팅을 게시할 수 있습니다. 또는 게시글을 임시보관 글로 저장한 다음에 나중에 다시 …

Post a Comment