[CSS]大きい画像をブラウザのサイズに合わせて背景に表示するスタイルシート

CSS-Tricksから、大きい画像を余白を作らずにブラウザのサイズに合わせて、背景に表示するスタイルシートを紹介します。

デモのキャプチャ

Perfect Full Page Background Image

下記、それを実装する要件とテクニックを二つ、それぞれポイントをピックアップして紹介します。

実装の要件

前提として、画像のサイズを調整する必要があるため、background-imageプロパティでの配置は不適格とします。
それを踏まえ、以下の条件をクリアさせます。

  • ページは画像でいっぱいに、余白は無しで
  • 画像の大きさは自動調整
  • 画像の比率は維持
  • 画像はページ中央に
  • 画像はスクロールさせない
  • クロスブラウザ対応

一つ目のテクニックは余分なマークアップが必要で、IE6用にJavaScriptを使用したものを紹介しています。
二つ目のテクニックは、余分なマークアップを無くし、JavaScriptも必要としないものです。

Technique #1

画像をtable内にインラインイメージとして配置し、height, witdhを100%、overflow:hidden;と指定して、その親divをposition:absolute;で配置を行います。

デモ
demo:1

HTML

CSS&JavaScript

コードは、デモを参照ください。

Technique #2

インラインイメージとして配置した画像に、クラス名をつけるだけの余分なマークアップは無いテクニックです。
唯一の注意点は、IE7では中央に配置されずIE6は非対応です。しかしながら、よりシンプルに実装が可能となっています。

デモ
demo:2

HTML

CSS

ボックスにはCSS3でシャドウをつけ、立体的にしています。

sponsors

top of page

©2024 coliss