SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

jQuery UI/プラグインの活用

セレクトボックスをスタイリングできるjQueryプラグイン「customSelect.js」

「jQuery プラグイン」の利用(23)

  • X ポスト
  • このエントリーをはてなブックマークに追加

軽量で導入が簡単な「customSelect.js」

 「customSelect.js」は、セレクトボックスを簡単にスタイリングできる軽量なプラグインです。

図5 customSelect.jsサンプル(sample01.html)
図5 customSelect.jsサンプル(sample01.html)

customSelect.jsを入手する

 まずは、customSelect.jsを配布ページから入手しましょう。customSelect.jsはMITおよびGPLライセンスのもと、「GitHub」で公開されています。画面右下の「Download ZIP」ボタンからダウンロードしてください。

HTMLから参照させ、プラグインを実行する

 ダウンロードしたファイルを展開して、jquery.customSelect.js(通常版)またはjquery.customSelect.min.js(縮小版)をHTMLから参照させます。

リスト2 HTMLから参照させる/HTML(sample01.html)
<!-- jQueryの読込 -->
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<!-- custumSelec.min.jsの読込 -->
<script type="text/javascript" src="js/jquery.customSelect.min.js"></script>

 HTMLコードは次のようになります。サンプルでは、select要素に「sample」というクラス名を付けました。

リスト3 セレクトボックス/HTML(sample01.html)
<form>
  <select class="sample">
     <option value="s1">選択肢1</option>
     <option value="s2">選択肢2</option>
     <option value="s3">選択肢3</option>
     <option value="s4">選択肢4</option>
     <option value="s5">選択肢5</option>
   </select>
</form>

 次に、スタイルを適用したいselect要素をjQueryのセレクターで指定して、プラグインを実行します。

リスト4 実行用のスクリプト/JavaScript(sample01.html)
<script type="text/javascript">
$(function(){
  $(".sample").customSelect();
});
</script>

セレクトボックスをスタイリングする

 ここまでで、右側に表示される下向きの三角形は非表示になるので、あとは、CSSで自由にスタイリングすることができます。次のようなクラスセレクタが用意されています。

customSelect.jsで用意されているセレクタ
セレクタ 説明
.customSelect デフォルト時
.customSelect.customSelectHover ホバー時
.customSelect.customSelectOpen 展開時
.customSelect.customSelectFocus フォーカス時
.customSelectInner セレクトボックスのインナースタイル

 サンプルでは、デフォルト時、斜線の背景画像と角丸のボーダーでスタイリングしています。インナースタイルに、右側に表示される三角形アイコンを指定、ホバー時はシャドウが出るように指定しています。

リスト5 customSelect.jsサンプル/CSS(sample01.html)
<style type="text/css">
select {
  width: 400px;
}
/* デフォルト */
.customSelect {
  background: url(sample01.png);
  padding: 10px;
  border: 4px solid #999;
  border-radius: 10px;
}
/* ホバー時 */
.customSelect.customSelectHover {
  border: 4px solid #ccc;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}
/* インナー */
.customSelectInner {
  background: url(arrow01.png) right center no-repeat;
}
</style>
図6 customSelect.jsサンプル:ホバー時(sample01.html)
図6 customSelect.jsサンプル:ホバー時(sample01.html)

 セレクトボックスは、ブラウザごとのデフォルトスタイルが大きく異なり、スタイリングが難しいですが、customSelect.jsを使えば、デフォルトスタイルの差異を意識することなくCSSで簡単にスタイリングできます。導入も簡単で軽量なので、手軽に使えて便利ですが、展開時の選択肢のデザインは制御できません。

図7 customSelect.jsサンプル:展開時(sample01.html)
図7 customSelect.jsサンプル:展開時(sample01.html)

 次に紹介するMinimalectは、セレクトボックス展開時の選択肢のデザインも含め、あらかじめ用意された美しいデザインのテーマを適用できるjQueryプラグインです。

次のページ
セレクトボックスをミニマルなデザインでスタイリングできる「Minimalect」

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
jQuery UI/プラグインの活用連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 宮本麻矢(ミヤモト マヤ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8023 2014/09/22 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング