作成方法:ユーザー評価

CSSを使って「ユーザー評価」スコアカードを作成する方法を学びます。

ユーザー評価

254件のレビューに基づいて平均評価4.1。


5 つ星
150
4 つ星
63
3 つ星
15
2 つ星
6
1 つ星
20

自分で試してみる

ユーザー評価スコアカードを作成する方法

第1歩 - HTMLを追加:

<!-- アイコンライブラリを追加 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<span class="heading">ユーザー評価</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>254件のレビューに基づいて平均4.1。</p>
<hr style="border:3px solid #f1f1f1">
<div class="row"></div>
  <div class="side"></div>
    <div>5 つ星</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 つ星</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 つ星</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 つ星</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 つ星</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>

第2ステップ - CSSを追加する:

* {
  box-sizing: border-box;
}
body {
  font-family: Arial;
  margin: 0 auto; /* サイト中央に配置 */
  max-width: 800px; /* 最大幅 */
  padding: 20px;
}
.heading {
  font-size: 25px;
  margin-right: 25px;
}
.fa {
  font-size: 25px;
}
.checked {
  color: orange;
}
/* 3列レイアウト */
.side {
  float: left;
  width: 15%;
  margin-top: 10px;
}
.middle {
  float: left;
  width: 70%;
  margin-top: 10px;
}
/* テキストを右側に配置する */
.right {
  text-align: right;
}
/* 列の後のフロートをクリアする */
.row:after {
  content: "";
  display: table;
  clear: both;
}
/* バーコンテナ */
.bar-container {
  width: 100%;
  background-color: #f1f1f1;
  text-align: center;
  color: white;
}
/* 独自のバー */
.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;}
/* レスポンシブレイアウト - 列を横並びではなく積み重ねにする */
@media (max-width: 400px) {
  .side, .middle {
    width: 100%;
  }
  /* スマートフォン画面上で右側の列を非表示にする */
  .right {
    display: none;
  }
}

自分で試してみる