ホームページ作成/画像の表示・活用 (HTML,CSS,JavaScript)

画像1つで様々な星レベル(ランク)を表示

複数の画像を使わなくても、たった1つの画像を用意するだけで「3:★★★☆☆」・「4:★★★★☆」のような星レベル(星ランク)を表示させる方法があります。スタイルシートを工夫して簡単に実現する方法をご紹介。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

星画像を使ってレベル(ランク)を表示

お勧め度合いや面白さ度合いなどを表現する方法として、星の数でレベル(ランク)を表す方法がよく使われます。例えば以下のような感じです。

星レベル(星ランク)の表示例
▲星の数でレベル(ランク)を表現

このような表示を、「星画像を5つ並べる」ことで実現すると、少々面倒です。 img要素を5つ並べるとHTMLソースが見にくくなりますし、 レベル(ランク)の値を変更したい場合には、必要なだけimg要素のsrc属性値を書き換えないといけません。

「星を並べた画像」1つだけで実現する

そこで、次のように「星が19個並んだ画像」を1つ用意して、上記のような星レベルの表示を実現させてみましょう。

星レベル(星ランク)用画像
 

上記の画像には、星が19個並べられています。 「橙色5つ」→「灰色5つ」→「橙色4つ」→「橙と灰の半分1つ」→「灰色4つ」の順に計19個が並んでいます。
これらの星のうち、スタイルシートで5つだけを表示させれば、星レベル0~5までを0.5単位で表すことができます。

星19個のうち5つを表示させれば様々な星レベル(星ランク)を表せます。
 

この画像では、橙色・灰色ともに最大5つ連続していますので、最小値0・最大値5を表せます。 表現できるすべての値は、下図の通りです。

表現できるすべての星レベル(星ランク)一覧
 

画像は1つで、スタイルシートを活用する方がシンプル

スタイルシートを使えば、画像のうち、任意の部分だけを抜き出して表示させることができます。 上記のように、たった1つの画像を用意するだけで、0~5までの値を0.5刻みで自由に表現できます。

HTMLでは、スタイルシートのクラス名を指定するだけで済むので、img要素を並べるよりもソースがシンプルで見やすくなります。 また、値の修正はクラス名を変更するだけで済むので容易です。

今回は、このように「星を並べた1つの画像」から、スタイルシートを使って様々な値の「星レベル(星ランク)」を作る方法をご紹介いたします。

それでは、次のページでスタイルシートの具体的な記述方法をご紹介いたします。

  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます