はじめに
セレクトボックス(select要素)は、フォーム部品の中でもCSSによるスタイリングが難いパーツです。本記事では、jQueryプラグインの「customSelect.js」を使って、セレクトボックスを簡単にスタイリングする方法を紹介します。
対象読者
- (X)HTMLとCSSの基本を理解している方。
- デザインのコツを学びたい方。
- セレクトボックスをグラフィカルにスタイリングしたい方。
必要な環境
jQuery本体。本記事では、jQuery 1.x系を使用します。Internet Explorer 6~8を考慮しなくてよい場合には、jQuery 2.x系も利用可能です。
本連載で動作確認を行ったブラウザは次のとおりです。
- Windows 7 Internet Explorer 11(以下IE 11)
- Windows 7 Firefox 30
- Windows 7 Chrome 35
セレクトボックスをCSSでスタイリング
図1のように、セレクトボックスのユーザーエージェントスタイルシートは、ブラウザによって異なります。
背景やボーダー関連プロパティで装飾
図2は、セレクトボックスをCSSだけでスタイリングした例です。
セレクトボックスを背景やボーダー関連のプロパティで装飾することはできますが、右側に表示される下向きの三角形や、展開時のデザインをCSSだけで制御することは現在のところ難しくなっています。
select#sample { margin: 0; padding: 10px; width: 280px; height: 40px; font-size: 14px; background: url(select.png); padding-left: 10px; border: 2px solid #ccc; border-radius: 5px; }
appearanceプロパティ
CSS3のappearanceプロパティは、ユーザーが利用するプラットフォームに応じて、要素がその環境における標準的なUIになるよう指定するプロパティです。「appearance:none;」を指定すると、ChromeやSafariのwebkit系ブラウザであれば、右側に表示される下向きの三角形を消すことができますが、IEやFirefoxでは消すことができません(図3)。
また、「appearance:button;」を指定してボタンとして装飾する方法もありますが、同じくPC向けのブラウザではwebkit系を除いて未対応のため、使用はスマートフォン向けにとどめるのが無難です。
そこで、セレクトボックスをスタイリングするのに便利なjQueryプラグインを紹介します。