スター評価UI

UI コンポーネント Easy #css #rating #star #interactive

5段階の星でレビュー評価を入力できるUIです。仕組みはシンプルで、5つのラジオボタンとラベルを並べ、 flex-direction:row-reverse で見た目を逆順にしているのがポイントです。

▶ プレビュー

解説

5段階の星でレビュー評価を入力できるUIです。仕組みはシンプルで、5つのラジオボタンとラベルを並べ、flex-direction:row-reverse で見た目を逆順にしているのがポイントです。これにより、CSSの兄弟セレクタ label:hover と続く兄弟へのスタイルだけで「ホバーした星とその左側すべてを点灯」させられ、JavaScriptなしで自然な点灯挙動を実現しています。選択中は input:checked から後ろの星に色を当てています。

使う場面

  • 商品レビューや満足度アンケートの入力欄
  • フォーム内の簡易フィードバック
  • 送信して点数を保存する評価機能の見た目部分

星の大きさは font-size、点灯色はオレンジの #f59e0b、消灯色は #d1d5db を変えるだけで調整できます。星はインラインSVGで描いているので外部フォントに依存しません。注意点として、表示専用ではなく入力フォームなので、各 input に分かりやすい name と値を持たせ、ラベルを for で正しく結びつけてください。読み上げ環境のために、各星に何点かを示す説明テキストを足すとさらに親切です。

よくある質問

星の色や大きさはどこで変えますか?
大きさはlabelのfont-size、点灯色は#f59e0b、消灯色は#d1d5db を書き換えます。インラインSVGで描いているため、外部のアイコンフォントを読み込まなくても表示できます。
選んだ点数を取得するには?
チェックされたラジオボタンのvalueを読めば点数が分かります。同じname属性でグループ化されているので、フォーム送信やJavaScriptのchecked判定でその値を取得して保存してください。
追加日:2026-05-19
← すべてのスニペットへ戻る