送信ボタンにcssspritesを使用したい理由は2つあります。
- 動的にボタンを作成しましたが、将来的にはローカライズされる可能性があります
- ページに5つのボタンがある場合でも、HTTPリクエストを1つだけにしたい
問題は、ボタンのJavaScriptを避けたいのでinput
、タイプのフィールドを使用する必要があることimage
です。他のcssspriteの場合と同じように、このフィールドに背景画像を設定できます。
問題は、画像ソースを空のピクセルに設定する必要があることに気付いたということです。そうしないと、壊れた画像アイコンが表示されます。
そうは言っても、これは私が思いついた最良の解決策です:
<style>
.csssprite_cat {
background-image:url(http://www.mrfreefree.com/images/speciali/211/funny_cat_50.jpg); width: 50px;
height: 50px;
}
</style>
<input type=image src="http://www.grasse-ac.com/gif/no_pixel.gif" class="csssprite_cat">
<input type=image class="csssprite_cat">
(このファイルをブラウザに直接ロードすることができます-私はランダムなサイトから画像を借りています)。
ある程度は問題なく動作しますが、古き良き友人のpixel.gifを使用する必要があります。とても懐かしい!
壊れた画像のテキストとアイコンを非表示にする方法がcssにない限り、javascriptなしでより良い方法はおそらくありません。