Home > CSS > [css] フォームのボタンをスタイルシートで画像ボタンに変更する

[css] フォームのボタンをスタイルシートで画像ボタンに変更する

フォームのボタンについては以前、buttonタグにボタン画像をそのまま入れるという手法を書きましたが、
もう一つ、ボタンの見た目をCSSで変更する手法がございます。
この記事ではCSSでスタイリッシュなフォームボタンを作る方法について解説します。

メリットとしては、ロールオーバーアクションをCSSで制御出来るという点と、
タイプ属性にimageを指定しないので、送信やリセットなどの機能を殺さないという点があります。
ただし、CSSでのロールオーバーはIE6未対応なので、気になる方はJavascriptと併用してください。
(個人的にはスルーしても問題ないと思っています)

(X)HTMLソース

buttonとinputどっちでもOK

HTML:
  1. <button id="submit" type="submit">Submit</button>
  2. <input id="submit" type="submit" value="" />

ボタンの画像

上がマウスアウト、下がマウスオーバーになるよう、繋げて作る。

btn_submit

CSS

上記の画像を基にしたスタイルシートです。

CSS:
  1. #submit {
  2.     display:block;
  3.     width:100px;
  4.     height:30px;
  5.     padding:0;
  6.     border:0;
  7.     background:url(btn_submit.png) no-repeat left top;
  8.     text-indent:-9898px;
  9.     font-size: 0px;
  10.     line-height: 0px;
  11.     cursor:pointer;
  12. }
  13. #submit:hover,
  14. #submit:focus {
  15.     background-position:left -30px;
  16. }

CSSのポイント解説

上記CSSに書いてある以下のプロパティはIE対策です。

  1. display:block;
  2. font-size: 0px;
  3. line-height: 0px;

コレがないとボタンが表示されないばかりか、text-indentをマイナスにしている場合にウィンドウが横に伸びるというような事態に陥ります。
画像を背景だけにして文字を表示する場合は、text-indent:0、font-size削除か任意の値、line-heightはheightと同じ値にすればOK。

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://tenderfeel.xsrv.jp/css/630/trackback/
Listed below are links to weblogs that reference
[css] フォームのボタンをスタイルシートで画像ボタンに変更する from WebTecNote

Home > CSS > [css] フォームのボタンをスタイルシートで画像ボタンに変更する

最近の投稿
最近の修正
  • そしてこのSQLはわれながらよく書いたと思う 2010-11-15
  • CSVの列っていう方がいいのかな…118項目だった 2010-11-15
  • 楽天のCSVの項目が116個もあった衝撃 2010-11-15
  • オフィスで香水臭振りまくのは迷惑だと知れ 2010-11-15
  • ぐあー フレグランステロやー 2010-11-15
  • More updates...

Powered by Twitter Tools

Tag Cloud
おすすめサーバー・他
メタ情報

Return to page top