Bulmaのセレクトボックス Select [CSSフレームワーク]

Bulma ロゴ トップ バナー

WebサイトやWebシステムのフォームでは、ドロップダウンリストから項目を選択するselect要素が頻繁に使用されます。

Bulmaには、select要素のスタイルを設定するためのクラスが用意されています。

今回は、選択肢のリストから項目を選択するセレクトボックスを装飾するselectクラスを紹介します。

セレクトボックスをラップするselectクラス

selectクラスはHTMLのselect要素をラップするコンテナ要素に指定するクラスになります。(input要素に指定するinputクラスや、button要素に指定するbuttonクラスとは違い、select要素のclass属性には指定しません。)

Bulmaのselectクラスは、HTML標準のセレクトボックス(項目選択リストボックス)のスタイリングの柔軟性を向上させます。

Bulmaのselectクラスの実装サンプルをブラウザーで実行した結果

HTML

selectクラスは、複数項目選択リストボックス(multiple)の形式にも対応しています。

また、セレクトボックスのスタイリングの拡張に加えてアイコンの表示もサポートします。

複数項目選択リストボックス

Bulmaのselectクラスの実装サンプルをブラウザーで実行した結果

複数の項目が選択できるリストボックス(multiple属性を指定したselect要素)のスタイルを設定する際は、セレクトボックスをラップするコンテナの要素(selectクラスを指定した要素)にis-multipleクラスを指定します。

HTML

セレクトボックスの色

Bulmaに用意されているテーマカラーを利用することで、セレクトボックスの色を設定することができます。

テーマカラーには以下の6種類があります。

  • Primary: プライマリー
  • Link: リンク
  • Info: 情報
  • Success: 成功
  • Warning: 警告
  • Danger: 危険

テーマカラーを指定すると、セレクトボックスは以下のように表示されます。

Bulmaのselectクラスの実装サンプルをブラウザーで実行した結果

HTML

テーマカラーの指定は、対応するクラスの
is-primary
is-link
is-info
is-success
is-warning
is-danger
で行います。

セレクトボックスのサイズ

セレクトボックスのサイズは、それぞれのサイズに対応するクラスで指定します。
設定できるサイズには、以下の4種類があります。

  • Small: 小さい
  • Normal: 通常
  • Medium: 中くらい
  • Large: 大きい

それぞれのサイズのセレクトボックスは、次のようになります。

Bulmaのselectクラスの実装サンプルをブラウザーで実行した結果

HTML

サイズの指定は、対応するクラスの
is-small
is-normal
is-medium
is-large
で行います。

サイズを指定しない場合(サイズの指定を省略した場合)は、通常状態(is-normalクラスを指定した時)と同じになります。

丸いセレクトボックス

セレクトボックスは角を丸くして、左右を半円形にすることができます。

Bulmaのselectクラスの実装サンプルをブラウザーで実行した結果

HTML

丸みを帯びたセレクトボックスの指定には、is-roundedクラスを使用します。

状態によるセレクトボックスのスタイル

セレクトボックスのスタイルは、状態を指定することによって変化させることができます。
状態には、以下の3種類があります。

  • ホバー
  • フォーカス
  • ローディング(読み込み中)

ホバー状態のセレクトボックス

Bulmaのselectクラスの実装サンプルをブラウザーで実行した結果

HTML

ホバー状態の指定には、is-hoveredクラスを使用します。
is-hoveredクラスの指定は、selectクラスを指定した要素ではなく、select要素に対して行います。

フォーカス状態のセレクトボックス

Bulmaのselectクラスの実装サンプルをブラウザーで実行した結果

HTML

フォーカス状態の指定には、is-focusedクラスを使用します。
is-focusedクラスは、is-hoveredクラスと同様に、selectクラスを指定した要素ではなく、select要素に対して指定します。

ローディング(読み込み中)状態のセレクトボックス

Bulmaのselectクラスの実装サンプルをブラウザーで実行した結果

HTML

ローディング状態の指定には、is-loadingクラスを使用します。
is-loadingクラスは、selectクラスを指定した要素に適用します。

ローディング状態のセレクトボックスに表示されるローディングスピナーは、指定されたサイズに合わせて変化します。

Bulmaのselectクラスの実装サンプルをブラウザーで実行した結果

HTML

アイコン付きのセレクトボックス

Bulmaのselectクラスを適用したセレクトボックスには、簡単にアイコンを表示することができます。
アイコンは、セレクトボックスの左端に表示できます。

Bulmaのselectクラスの実装サンプルをブラウザーで実行した結果

HTML

セレクトボックスのサイズに応じてアイコンのサイズを変更するには、対応するサイズを表すクラス(is-smallクラスや、is-largeクラスなど)をiconクラスを指定している要素に指定します。

Bulmaのselectクラスの実装サンプルをブラウザーで実行した結果

HTML

Font Awesomeの利用

Font Awesomeのアイコンを利用する際は、スタイルの参照が必要になります。

Font Awesomeのアイコンにはフリー(無償)のものと、有料のものがあります。
フリーで使用できるFont Awesomeのアイコンは、以下の記事でご紹介しています。

Font Awesome アイコンフォント一覧 [Free (フリー) のみ]
Font Awesomeのアイコンフォントの一覧です。 Free(無償で利用可能)のアイコンのみをリストにまとめました。 F...

Bulma 入門 Tips 一覧