WEBページでボタンを作る際に、(1)通常の画像、(2)マウスオーバーした時の画像、(3)クリックした時の画像と3種類の画像を使うのだけれど、これを1つの画像ファイルにまとめておきたいという時の話です。ボタン以外にも似たような画像を1つのファイルにまとめておきたい時も同じようにできます。
画像ファイル
元の画像は3種類の状態をもつ2つのボタンをこんな感じに1つのファイルにまとめています。
使う前に画像の位置とサイズを確認しておきます。画像編集アプリには大抵ガイドとルーラーがあるので部分画像の左上の座標を調べます。
原点が左上です。
これをもとにcssを記述します。
■背景画像の部分指定
background: url(画像ファイル) no-repeat left top;
最終的なCSSはこんなかんじです。
#btn_convert { display:block; width: 186px; height: 43px; padding: 0; border: 0; background: url(https://kisagai.com/gmc_api/lib/image/calc_clear_button.png) no-repeat left top; text-indent: -9898px; font-size: 0px; line-height: 0x; cursor: pointer; } #btn_convert:hover, #btn_convert:focus { background-position:left -60px; } #btn_convert:active { background-position:left -117px; } #btn_clear { display:block; width: 186px; height: 43px; padding: 0; border: 0; background: url(https://kisagai.com/gmc_api/lib/image/calc_clear_button.png) no-repeat -218px top; text-indent: -9898px; font-size: 0px; line-height: 0x; cursor: pointer; } #btn_clear:hover, #btn_clear:focus { background-position:-218px -60px; } #btn_clear:active { background-position:-218px -117px; }
ちなみに、ボタンのhtmlはinputタグにidを指定しています。
出来上がったページはこれです。