CSSスプライトで、スムーズに画像を切り替える

マウスオーバーした時などに、画像が上手く切り替わらない時、よくありませんか?ブラウザや、PCの性能によっても変わってくるんでしょうけど。

要するに↓こんな感じです。
GoToTopBG_animation1のgif画像

これはこのサイトで使ってるページトップへ移動するためのアイコンなのですが、このアイコンにカーソルをのせる度に、これがすごく気になってたんですね。
(正確にはブラウザでそのサイトを初めて読み込んだ後(キャッシュに画像が残ってない状態で)、カーソルを合わせる時です。

なのでこの、CSSスプライトを使う事に。
ちなみにCSSスプライトとは、マウスホーバーなどで画像を切り替える時に、onMouse,offMouseでそれぞれに画像を設定して2枚使うのではなく、必要となる複数(今回の場合は2枚)の画像を1枚にして、cssのposition設定で表示される部分を切り替えて、サイトの表示速度をあげることができるCSSのテクニックです。
この場合だと、2枚の画像を2回に分けて読みこむのではなく、1枚を1回で読み込むので、その分早く表示できるようになるわけですね。

要するに↓こんな感じになります。
GoToTopBG_animation2のgif画像

ちなみにalt属性が使えなかったり、更新時に手間がかかったり、背景画像のリピート表示ができなかったりと(これは当方はできたのですが、できない場合もあるようです。)、使えない状況も出てくるかと思いますので、このページトップへのアイコンや、メニューバーなど、Webサイトを構成するうえで必ずしもきちんと表示しなくても問題のない画像には、この方法を使った方がサイト表示の高速化につながるので、面倒でなければ使った方がよいテクニックかな?と思います。

同じように画像が切り替わる時の”チラチラ”が気になる方、使ってみてはいかがでしょうか?

このCSSスプライトについては、WEBクリエイターボックスのまなさんのページを主に参考にさせていただいたので、
html,cssの書き方等、もう少し詳細を知りたい方は、マナさんのサイトまで!
https://www.webcreatorbox.com/tech/css-sprite/

Google AdS



関連記事

backgroundプロパティの正しいショートハンドの書き方


ABCから始めよう!と言いつつ、ちょっとABCからの内容ではないかもしれませんが、今まで貯めてた "?" の解決法で、今…

記事を読む▷


複数の横に並ぶブロック要素をセンタリングさせる!!


よく複数の画像をfloatで並べることありますよね?でも、それを括ったDivタグとかをセンタリングしようとしたら、なかな…

記事を読む▷


onMouseOver、onMouseOutで、簡単に画像を切り替える


今までマウスオーバー等で画像を切り替える時は、jQueryを使ったり、cssで画像を重ねてopacityで画像を透過させ…

記事を読む▷


onMouseOver、onMouseOutで、簡単にテキストを切り替える!


前回のonMouseOver,onMouseOutで簡単に画像を切り替える!の続き、応用編です。 実はこちらサイト…

記事を読む▷


easy-edit

共通パーツ(header,footer等)をjQueryで読み込んで編集を楽にする方法 & 文字化け対策


WordPress等のCMSではなく、htmlで構築され、headerやfooter等、同じパーツを使っているサイトを編…

記事を読む▷


Message

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

PAGE TOP