GHWEB06.GRASSHOPPER

CSSで背景画像を複数指定

  • Category:Web関連
  • Web関連の備忘録

CSS3 より、複数の背景画像を適用できるようになりました。無駄なDIVを作らなくて良いため、ソースがシンプルになります。
画像は、CSSで角に画像を其々配置した物のキャプチャです。

CSSの記述

cssは下記のようになります。(htmlは省略)

#box {
  margin:0;
  padding : 0;
  border : 0;
  width : 250px;
  height: 250px;
  background: url(k1.gif) no-repeat left top,
              url(k2.gif) no-repeat right top,
              url(k3.gif) no-repeat left bottom,
              #222 url(k4.gif) no-repeat right bottom;
}

このようにCSSの指定だけで出来るんですが、IE8は非対応です。
対応させる場合、PIE.htc を利用します。
使い方は、css に behavior: url(PIE.htc); と -pie-background の記述の追加を行います。
只、PIE.htc のパスは、HTMLからPIE.htcへの相対パスでないと動きません。
画像のパスも同じく相対パスにします。

(例)
フォルダ構成を下記のようにして、

css、画像、 PIE.htc をimgフォルダに格納した場合のCSSは下記のようになります。
IE以外とIE8の場合でパスが違うので確認して見て下さい。

#box {
  margin:0;
  padding : 0;
  border : 0;
  width : 250px;
  height: 250px;
  /* other */
  background: url(k1.gif) no-repeat left top,
              url(k2.gif) no-repeat right top,
              url(k3.gif) no-repeat left bottom,
              #222 url(k4.gif) no-repeat right bottom;
  /* IE8 */
  -pie-background:url(img/k1.gif) no-repeat left top,
                  url(img/k2.gif) no-repeat right top,
                  url(img/k3.gif) no-repeat left bottom,
                  #222 url(img/k4.gif) no-repeat right bottom;
  behavior: url(img/PIE.htc);
}

(※IE8とchrome22・firefox15・safari に対応させた場合)


以上、CSSで背景画像を複数指定する場合にお試し下さい。

  • 掲載: