How to Create: User Rating

Learn how to use CSS to create a "User Rating" scorecard.

User Rating

Average score of 4.1 based on 254 reviews.


5 star
150
4 star
63
3 star
15
2 star
6
1 star
20

Try It Yourself

How to Create a User Rating Scorecard

Step 1 - Add HTML:

<!-- Add icon library -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<span class="heading">User Rating</span>
<span class="fa fa-star checked"></span>
<span class="fa fa-star checked"></span>
<span class="fa fa-star checked"></span>
<span class="fa fa-star checked"></span>
<span class="fa fa-star"></span>
<p>4.1 average based on 254 reviews.</p>
<hr style="border:3px solid #f1f1f1">
<div class="row"></div>
  <div class="side"></div>
    <div>5 star</div>
  </div>
  <div class="middle"></div>
    <div class="bar-container"></div>
      <div class="bar-5"></div>
    </div>
  </div>
  <div class="side right">
    <div>150</div>
  </div>
  <div class="side"></div>
    <div>4 star</div>
  </div>
  <div class="middle"></div>
    <div class="bar-container"></div>
      <div class="bar-4"></div>
    </div>
  </div>
  <div class="side right">
    <div>63</div>
  </div>
  <div class="side"></div>
    <div>3 star</div>
  </div>
  <div class="middle"></div>
    <div class="bar-container"></div>
      <div class="bar-3"></div>
    </div>
  </div>
  <div class="side right">
    <div>15</div>
  </div>
  <div class="side"></div>
    <div>2 star</div>
  </div>
  <div class="middle"></div>
    <div class="bar-container"></div>
      <div class="bar-2"></div>
    </div>
  </div>
  <div class="side right">
    <div>6</div>
  </div>
  <div class="side"></div>
    <div>1 star</div>
  </div>
  <div class="middle"></div>
    <div class="bar-container"></div>
      <div class="bar-1"></div>
    </div>
  </div>
  <div class="side right">
    <div>20</div>
  </div>
</div>

Second step - Add CSS:

* {
  box-sizing: border-box;
}
body {
  font-family: Arial;
  margin: 0 auto; /* Center the website */
  max-width: 800px; /* Maximum width */
  padding: 20px;
}
.heading {
  font-size: 25px;
  margin-right: 25px;
}
.fa {
  font-size: 25px;
}
.checked {
  color: orange;
}
/* Three-column layout */
.side {
  float: left;
  width: 15%;
  margin-top: 10px;
}
.middle {
  float: left;
  width: 70%;
  margin-top: 10px;
}
/* Place text on the right */
.right {
  text-align: right;
}
/* Clear float after columns */
.row:after {
  content: "";
  display: table;
  clear: both;
}
/* Bar container */
.bar-container {
  width: 100%;
  background-color: #f1f1f1;
  text-align: center;
  color: white;
}
/* Individual bars */
.bar-5 {width: 60%; height: 18px; background-color: #04AA6D;}
.bar-4 {width: 30%; height: 18px; background-color: #2196F3;}
.bar-3 {width: 10%; height: 18px; background-color: #00bcd4;}
.bar-2 {width: 4%; height: 18px; background-color: #ff9800;}
.bar-1 {width: 15%; height: 18px; background-color: #f44336;}
/* Responsive layout - stack columns instead of side by side */
@media (max-width: 400px) {
  .side, .middle {
    width: 100%;
  }
  /* Hide the right column on small screens */
  .right {
    display: none;
  }
}

Try It Yourself