私はCSS:hoverを使用して送信ボタンの背景を置き換えています。ボタンの上にマウスを置くと、古い背景イメージが消えて(何もないように見えます)、しばらくしてから新しい背景が再表示されます。おそらく、ボタンの画像ファイルのサイズが大きすぎますが、わずか1.4kbだと私は考えました。これを避ける方法はありますか、キャッシングやプリロード、またはそれらの行に沿ったものはありますか?送信ボタンがホバー上で消えてから再表示されます
答えて
これは初期ページの表示/ホバーにのみありますか?
これは、イメージファイルが要求に応じてロードされる、つまりホバーアクションのためです。
これを回避するには、両方のボタンの状態を1つのファイルに保存する必要があります。あなたは、現在の状態の画像の正しい半分を表示するためにbackground-positionプロパティを調整する必要があります。それが表示される前にダウンロードするには、「ホバー」の画像のための時間がかかるためです
button {
background-image: url(button.png);
width: 60px;
height: 20px;
background-position: 0 0;
}
button:hover {
background-position: 0 -20px;
}
:
はここでラフ例(そのbutton.pngは、両方の画像の状態が含まれており、40個のピクセルの高さに注意してください)です。これを防ぐために、スプライトイメージテクニックを使用できます。
例:あなたは、多分、上記、ブリンの答えに、ない実行はいえ、意図に似ている技術を使用することができUsing Sprite Images with INPUT for a Hover Effect
。
.button {background-image: url(img/for/hover-state.png)
background-position: top left;
background-repeat: repeat-x;
background-color: #fff;
height: 1.5em;
width: 5em;
}
.button span
{background-image: url(img/for/non-hover-state.png);
background-position: top left;
background-repeat: repeat-x;
background-color: #000;
height: 1.5em;
width: 5em;
}
.button:hover span
{background-color: transparent;
background-image: none;
}
私が言及した類似点は、ホバーフリッカーを避けるために両方の画像を文書上に存在させることです。ボタンをホバーすると、スパンの背景画像が消え、オンデマンドでロードするのではなく、ホバー状態が表示されます。
上記のheight
/を指定したにもかかわらず、このテクニックは動的なサイズ変更には有効ですが、固定幅サイズの画像には依存しません(または、設計上許容できるほどの流動性があります) 。
-1を追加のHTTP要求に使用します。透明な画像では正しく機能しません。 –
@Josh - 十分に2番目のhttpリクエストがありますが、余分な数kbのコストは、より流動的な設計のボーナスよりも上回っています。そして、私が知る限り、それは尋ねられた質問に答えました。それぞれ自分自身に。 –
...透明イメージの問題は、おそらく上記のスタイルの 'span'に' background-colour'がないためです。それは解決するのが難しいことではありません。対応する編集済みの回答。 –
- 1. HTML送信ボタンのマウス・ホバー上にツールチップを表示する
- 2. FB.ui - 送信後に送信ダイアログが再表示されます
- 3. 送信ボタンが表示されない
- 4. 情報ボタンが表示から消えます
- 5. バッファオーバーフローエラーがランダムに表示されてから消えていく
- 6. 送信ボタンがグレー表示
- 7. UIToolbarのUIBarButtonItemでtintColorを変更すると、ボタンが消えて左からアニメーションが表示されます
- 8. JSプロトタイプメソッドは、オブジェクトがサーバーからクライアントに送信されると消えます。
- 9. PHPセッション変数 - 消えて再表示
- 10. 水平スクロールバーがちょっと表示されてから消えます。
- 11. グーグルマップは時々マーカーが地図上の任意のマウスイベントに消えて、再表示されます
- 12. フォームを送信すると、クリックされたボタンも表示されますか?
- 13. jQuery Mobileで送信ボタンがオーバーレイ表示されるのはなぜですか?
- 14. Facebookのようなボタンが消えてもう一度表示されない
- 15. イベントタブがランダムに表示され、VS 2008で消えます
- 16. なぜFacebookの送信ボタンが表示されないのですか?
- 17. NSWindowのホバー上に表示ボタンを表示
- 18. GwtポップアップパネルにFacebookの送信ボタンが表示されませんか?
- 19. 私のアプリからのFacebookの通知が表示され、消えます
- 20. Divがホバーで表示されています
- 21. HTMLボタンが押されずに送信されています
- 22. タスクバー/スタートメニューが表示されている最上部のフォーム/ウィンドウにウィンドウメッセージが送信されましたか?
- 23. フォーム送信ボタンの下線をホバー?
- 24. Internet Explorerでホバーにリンクされた画像が消える
- 25. ボタン上の背景イメージがマウスの上に消えます
- 26. 送信ボタンが標準のウェブとして表示されない
- 27. 1秒後にli上をホバーするとホバー上にポップアップが表示されます
- 28. Facebookなどの+(表示されていない送信)送信
- 29. ボタンが押されてからscreemに表示される
- 30. ホバー時、divの上にコンテンツが表示される前に
使用しているHTMLとCSSを投稿できますか? –