background

background

body 要素 background 属性 (HTML)

[1] HTMLbody 要素型の要素の background 属性は、 視覚ブラウザで文書の背景画像として貼り合わせる画像を指定します。

[2] 仕様書:

代替

[3] この属性は非推奨です HTML 4。 代わりにスタイル・シートで指定できます。

[4] CSS を使って HTML 文書の背景に画像を指定する例:

html {
  background-image: url(http://example.org/background-image);
  background-color: 画像に近い背景色;
  color: 画像と遠い文字色;
}

属性値

[5] この属性の値は %URI です HTML 4。 画像の URI参照を指定します。大文字・小文字は一般に区別されます。 SGML 的には CDATA です。

[6] この属性は省略可能です。

アクセス可能性・可用性

[7] 背景画像はできるだけ薄い色のものやワンポイントだけの目立たないものを選ぶべきです。 そうしなければ文章が非常に読みづらくなってしまいます。

[8] 背景画像を指定する時は、背景画像が表示できない場合も考慮しなければなりません。 (背景画像が何らかのエラーで表示できなかった場合や利用者が背景画像を表示しないように設定している場合や背景画像をそもそも表示しないブラウザで文書を読む場合などは、 きわめて一般的です。)

背景色として背景画像全体の色合いと似たものを指定するのがよいと考えられています。 たとえば、ピンク色系の背景画像を使うときは、 似たような薄いピンク色を背景色にしておきます。 そうすれば仮に背景画像が表示できなくても、 同じような感じで表示されます。 (必ず背景画像なしで表示して確かめてみてください。)

また、背景画像・背景色を指定するときには同時に前景色 (文字色) も指定しておくことが重要です。前景色は黒であることが多いですが、 必ずしもそうではありません。好みによって灰色に変えているとか、 画面全体が黒を基調に白い文字であるとか、いろいろな場合が考えられます。 ですから、たとえ黒色であっても背景とセットで前景も指定しておかなければなりません。

[9] もちろん、一番よいのは背景も前景も指定しないことです。 そうするのが一番閲覧者にとって見やすいはずです。 文書の見栄えにこだわりたいのであれば、文書全体の背景・前景ではなく、 文章本文以外の部分 (文章の周りの部分や見出しの部分など) で工夫するのがよいでしょう。

実装

[10] 多くの Webブラウザには著者による背景画像の指定を無効にしたり、 画像の表示そのものを無効にしたりする機能が備わっています。

[11] Document specific background and foreground control (2007-02-26 22:03:02 +09:00 版) <http://web.archive.org/web/19961020032532/http://www3.netscape.com/assist/net_sites/bg/index.html>

Recent versions of the proposed HTML 3.0 spec. have added a BACKGROUND attribute to the BODY tag. The purpose of this attribute is to specify a URL pointing to an image that is to be used as a background for the document. In Netscape 1.1, this background image is used to tile the full background of the document-viewing area.

[12] The Background Sampler (2007-02-26 22:09:08 +09:00 版) <http://web.archive.org/web/19961020032621/www3.netscape.com/assist/net_sites/bg/backgrounds.html>

[13] >>11 より:

In earlier versions of Netscape Navigator, setting a background image meant that none of your document could be displayed until the image was loaded and decoded. Now, with 2.0, text and images load first. When the background is loaded, it pops up behind the text, increasing the perceived speed of document loading.

If you have the Auto Load Images option off, background images will not be loaded. If the background image is not loaded for any reason, and a BGCOLOR was not also specified, then any of the foreground controlling attributes (LINK, VLINK, and ALINK) will be ignored. The idea behind this is that if you didn't get your requested background image, setting your requested text colors on top a the default gray background may well make your document unreadable.

歴史

[23] OperaFirefoxURL として内容属性反映する DOM属性であるとして (つまり相対URL絶対URL に変換するものとして) background DOM属性を実装していましたが、 IESafari に揃えるため Opera も単なる文字列として反映するように変更されました。

[24] HTML5 でも backgroundURL として反映する DOM属性ではないと明記されました。

メモ

[14] html要素の背景 - 徒書 (北村曉 (KITAMURA Akatsuki) 著, 2006-12-12 10:40:18 +09:00 版) <http://www.akatsukinishisu.net/itazuragaki/id/bg_of_html> (名無しさん 2007-07-13 11:16:27 +00:00)

[15] >>14 See CSS 2.1.

[16] WinIE 6background構文解析では:

(名無しさん)

[17] Firefox 2 と Opera 9 はわかっている限りでは CSS 2.1 通りに解釈してくれます。 (名無しさん)

[18] Firefox 2 は -moz-background-clip, -moz-background-origin, -moz-background-inline-policy初期値らしい -moz-initial に設定します。最初の2つは CSS 3 にあるものですが、 background 内で値を指定することも一応できますが、 Firefox 2 では実装されていないようです。 -moz-background-inline-policy にも background で明示的に値を指定することはできないようです。

また、 Firefox 2 は backgroundlonghand がそろっていれば cssTextshorthand にまとめるのですが、上記の3つの特性はその対象外になっているようです。 (名無しさん)

[19] DOM属性 background で得られる値:

(名無しさん)

[20] >>19 テスト用 <http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0A%20%20background%3A%20blue%3B%0A%7D%0A;h=%3Cp%3E%3Cbutton%20type%3Dbutton%20onclick%3D%22%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0A%20%20var%20s%20%3D%20sd%20()%3B%0A%20%20w%20(s.background)%3B%0A%22%3ECSSOM%3C%2Fbutton%3E%0A%3Cbutton%20type%3Dbutton%20onclick%3D%22%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0A%20%20var%20sd%20%3D%20getComputedStyle%20(el%2C%20null)%3B%0A%20%20w%20(sd.background)%3B%0A%22%3E%3Ccode%3EgetComputedStyle%3C%2Fcode%3E%3C%2Fbutton%3E%0A%3Cbutton%20type%3Dbutton%20onclick%3D%22%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0A%20%20var%20sd%20%3D%20el.currentStyle%3B%0A%20%20w%20(sd.background)%3B%0A%22%3E%3Ccode%3EcurrentStyle%3C%2Fcode%3E%3C%2Fbutton%3E%0A;p=n;x=style-element> (名無しさん)

[21] >>20 Opera 9

CSSOM: 動作は >>19WinIE 6。順序は >>19Firefox 2。 inherit に関する動作も >>19Firefox 2。

getComputedStyle: CSSOM と同じ。ただし常に background-position が現れる (初期値 0% 0%算出値0px 0px となり、 文字列としては初期値と異なるため)。

currentStyle: getComputedStyle と同じ。 ただし background-color色名を指定すると "red" のように括られる (これは backgroundColor でも同じ)。 (名無しさん)

[22] >>20 Firefox 2 getComputedStyle: 常に空文字列

WinIE 6 currentStyle: undefined

[25] Document specific background and foreground control ( ( 版)) <http://web.archive.org/web/20020806181026/http://wp.netscape.com/assist/net_sites/bg/>

[26] cssTextFirefox は可能なら 'background' にまとめますが、 Chrome はまとめません。

[27] FirefoxChromebackground の各 longhand の値が初期値であっても省略しません。

[28] background attribute | background property (Internet Explorer) ( ( 版)) <http://msdn.microsoft.com/en-us/library/ie/ms533498(v=vs.85).aspx>

[29] Re: color: NCSA Mosaic, Netscape, and HTML3 ( (Lou Montulli 著, 版)) <http://lists.w3.org/Archives/Public/www-style/1995Jul/0080.html>

[30] Re: color: NCSA Mosaic, Netscape, and HTML3 ( ( 版)) <http://lists.w3.org/Archives/Public/www-html/1995Jul/0203.html>

[31] Welcome to Netscape Navigator Version 2.0 ( ( 版)) <http://web.archive.org/web/20030202175634/http://wp.netscape.com/eng/mozilla/2.0/relnotes/windows-2.0.html#Images>

[32] Fixes #29. Remove prefixed properties not shipping in WebKit or Blink. · whatwg/compat@a55e44f ( 版) <https://github.com/whatwg/compat/commit/a55e44f39ac67aab4c8efb7b01274eb702c18785>

[33] URLs are parsed and produce records · whatwg/html@30bc255 ( 版) <https://github.com/whatwg/html/commit/30bc2557105ad62881ec9670f253febbc9761b44>