2012-03-17 46 views
5

ウェブページの背景色を変更できないことがあります。たとえば、一部のサイトでは、クロムコンソールのdocument.body.bgColor = "red"と入力するだけで、背景色が一時的に変更されます。しかし、StackOverFlowのような他のサイトでは、これは動作しません。ブラウザは既にページを読み込んでいるので、ローカルに表示する方法を変更する必要があります。何故なの?背景色を変更する

答えて

8

Chromeでは、DOMインスペクタを使用して、計算されたボディスタイルと、この計算されたスタイルをもたらすCSSルールの継承/オーバーライドを確認できます。

document.body.style.backgroundColorbgColorプロパティではない)を設定すると、ここで実際に背景色を変更できることがわかります。それは、より高い特異性を持つ別のルールがあるかどうかにかかっています。 DOMインスペクタがそうであるかどうかをあなたに伝えます。

+2

1を体の色を変えるにはより多くのプロパティを確認することができ、我々は我々がすべきメタでこれを提案すべきだと思いますか? 'document.body.style.background =" pink ";' – Jeroen

+0

@Jeroen実際にはあまりにも悪くはありません。 –

3

CSSはあなたの答えです。

document.body.style.background="red"; 

CSSスタイルは、要素のプロパティを優先してみてください。

+0

これを行うと言っていますか、それは置き換えられているので、サイトの使用方法に関係なく背景色が変わりますか? –

+0

さて、はい。ページの背景色が変わります。それはあなたが見る色を変えないかもしれません。多くのサイトでは、独自の背景色を持つコンテナdivや背景色を持つdiv内のdivを使います。 – FrankieTheKneeMan

3

これを行うと、背景もここで変更されます。しかし、DOMインスペクタで見ることができるように、背景はあなたが実際に見るものではありません。これはcontainerと呼ばれるdivです。このdivの背景を変更すると、変更が表示されます

編集:ああ、私はコンテナが透明であることを確認します。したがって、document.body.style.backgroundColorを使用してください。 :)

1

体の背景の色はいつでも設定できます。ただし、必ずしも現在のビューの背景を反映しているとは限りません。さらに、あなたが課す定義よりも要素のために、より具体的な定義がある場合、それらは依然として使用されます。したがって、あなたが正しいから「なぜ」という理由はありません。いつでもページをローカルで変更することができます。

-2
document.backgroundColor="red"; 
+1

これが機能する理由の説明を追加してください。 – Reg

0

htmlで体の背景色を変更できます。このコードのようなCSSプロパティを使用してください。

<html> 
<head> 
    <style> 
     body { 
      background-color: red 
     } 
    </style> 
</head> 
<body> 
</body> 

あなたは、このリンクで http://www.webclasses.in/css-background/

+0

この質問は、基本的なCSSプロパティではなく、Javascriptを使用してプログラムによって背景色を変更することです。 –

関連する問題