フォームのテキストボックスとテキストエリアをデザイン
フォームの入力欄がデザインされていると、何となく気持ちがいいですよね。デフォルトの入力欄よりも、入力しやすく感じます。
とはいえ、今までフォームを作成する場合は、ついついデフォルトのままで作成していました。なので、デザインされたフォームも作れるように練習です。
テキストボックスをカスタマイズには、inputタグをdivで囲います。
テキストエリアの場合はもう少し複雑で、画像は3分割して配置します。
divとspanで領域をとって、それぞれに背景画像を設定します。
ひとまず、テキストボックスとテキストエリアは画像を使ってカスタマイズすることができました。もうちょっとスタイルはシンプルにできそうですが、追々改良していこうと思います。
チェックボックス、ラジオボタン、プルダウンメニュー等は、フォームを透過させる必要があるようなので、できたらまた別エントリーでまとめてみます。今日はここまでー。
ちなみに、Safariだとフォーカスしたときに独自のスタイルが適用されますが(入力欄にアウトラインが付く)、これを無効にするには以下のように設定します。
とはいえ、今までフォームを作成する場合は、ついついデフォルトのままで作成していました。なので、デザインされたフォームも作れるように練習です。
テキストボックスをカスタマイズには、inputタグをdivで囲います。
そして、inputタグのborderとbackgroundを消します。
.txtbox input {
width: 195px;
height: 20px;
margin: 3px 2px;
border: none;
background: none;
font-size: 1em;
line-height: 20px;
}
この時に、画像のサイズに合わせて幅と高さ、行間なども設定します。
最後に、divタグに背景画像を設定します。
.txtbox {
width: 200px;
height: 25px;
background: url(img/txtbox.gif) no-repeat;
}
ブラウザによって、marginやpaddingは微調整が必要ですね。これでテキストボックスは色々と応用できそうです。
テキストエリアの場合はもう少し複雑で、画像は3分割して配置します。
divとspanで領域をとって、それぞれに背景画像を設定します。
スタイルはちょっと複雑になってしまいました…。
.txtarea_h {
position: relative;
width: 300px;
height: 7px;
margin: 0 0 0 5px;
background: url(img/txt_h.gif) no-repeat right;
}
.txtarea_h span {
display: block;
position: absolute;
left: -5px;
width: 5px;
height: 7px;
background: url(img/txt_h.gif) no-repeat left;
}
.txtarea_f {
position: relative;
width: 300px;
height: 7px;
margin: 0 0 0 5px;
background: url(img/txt_f.gif) no-repeat right;
}
.txtarea_f span {
display: block;
position: absolute;
left: -5px;
width: 5px;
height: 7px;
background: url(img/txt_f.gif) no-repeat left;
}
.txtarea_b {
position: relative;
width: 300px;
margin: 0 0 0 5px;
background: url(img/txt_b.gif) repeat-y right;
}
.txtarea_b span {
display: block;
position: absolute;
left: -5px;
width: 5px;
height: 100%;
background: url(img/txt_b.gif) repeat-y left;
}
.txtarea_b textarea {
width: 295px;
background: none;
border: none;
}
テキストボックスと同様に、textareaのborderとbackgroundを消し、divとspanでテキストエリアの領域が拡大した場合でも背景画像が切れないように調整しています。
ひとまず、テキストボックスとテキストエリアは画像を使ってカスタマイズすることができました。もうちょっとスタイルはシンプルにできそうですが、追々改良していこうと思います。
チェックボックス、ラジオボタン、プルダウンメニュー等は、フォームを透過させる必要があるようなので、できたらまた別エントリーでまとめてみます。今日はここまでー。
ちなみに、Safariだとフォーカスしたときに独自のスタイルが適用されますが(入力欄にアウトラインが付く)、これを無効にするには以下のように設定します。
form :focus {
outline: none; /* for Safari */
}
フォーカスしたときのデザインまで作れるようになると、こだわりが出ていい感じですね。
- @
- 2009-05-25
- CSS
- コメント : 0
- トラックバック : 0
- この記事にトラックバックする(FC2ブログユーザー)
- http://likearpeggio.blog63.fc2.com/tb.php/72-0dd64775
コメント
Search
最新記事
- 人生を英語で表した画像
- Webデザイナーと開発者向けのチートシートまとめ
- Webデザインのリンク集まとめ
- 全日本バーベイタム選手権でメディアモンスターを育てよう!
- DreamweaverのテンプレートでCSSシグネチャを行う方法
- クールな404ページデザイン
- MTでテキストエリアの改行を反映させる方法
- MTでラジオボタンの値によって分岐する方法
- Googleのロゴがセサミストリートに 7
- Googleのロゴがセサミストリートに 6
月別アーカイブ
- 2009/11 (21)
- 2009/10 (16)
- 2009/09 (12)
- 2009/08 (10)
- 2009/07 (6)
- 2009/06 (14)
- 2009/05 (12)
- 2009/04 (17)
- 2009/03 (13)
- 2009/02 (11)
- 2009/01 (14)


コメントの投稿