imgタグとCSSでのbackground-image:urlとの違い
Posted on by vanillate
「画像」なのか、「背景」なのか、それが問題だ。
HTMLでは文章の基本構造を基に書き、CSSではデザインを指示することがいまやスタンダードとなっています。これは、HTML構造を簡単にして、いままであったテーブルでの段組が減り、読みやすくすし、そしてデザインの幅を持たせ、統一することができる、といった恩恵をうけました。
しかしながら、いままで管理するメインファイルが1枚のhtmlだったのに対して、1枚のhtml+CSSファイル(1枚+α)となり、初心者の勉強のハードルがあがっていると聞いて、今回は画像の読み込みをメインに書いてみようと思います。
よく見かける画像の読み込み方法
・HTML通常の記述
<img src=”画像ファイルまでのパス” />
background-image:url(“画像ファイルまでのパス”);
background:url(“画像ファイルまでのパス”);
<style type=”text/css”>
#id_name { background:url(“画像ファイルまでのパス”); }
</style><div style=”background:url(画像ファイルまでのパス);”></div>
ざっくりとこれくらい方法があります。
できるだけstyleタグや、style属性で書くのはおすすめしません。でもかけます。(わたしも時々使います。)本当は、すべてCSSファイルのなかで管理すべき部分なので、本当にイレギュラーな場合のみ、利用することをおすすめします。これが中毒になると、HTMLがすごいことになりますので、ご注意を。
background-imageとbackgroundの違いですが、指定の記述が違うだけで、同じことをやっていると思ってもらっていいです。background-imageの場合は、画像ファイルまでのパスを指定することしかできませんが、backgroundの場合は、背景画像関連のすべての指定を一括で行えます。たとえば、
- background-image:url(画像ファイルまでのパス);
(画像の指定のみ) - background:url(画像ファイルまでのパス) top left repeat-x;
(画像指定+縦位置設定+横位置設定+X方向に繰り返す指定)
上記のような記述となります。
※CSSの上書きについてですが、background-image:url();で上部で指示している場合は、同じようにbackground-
image:url();で上書きをしなくてはうまく動かない場合があります。一括指定の場合は、一括指定で相殺するのがよいかと思います。
