2012-03-17 36 views
5

Me pregunto por qué a veces puedo cambiar el color de fondo de la página web y, a veces, no puedo. Por ejemplo, en algunos sitios, simplemente escribo document.body.bgColor = "red" en la consola de Chrome y el color de fondo cambia temporalmente. Sin embargo, en los otros sitios como StackOverFlow, esto no funciona. Como mi navegador ya cargó la página, debería poder cambiar la forma de mostrarla localmente. Por qué no? Graciascambio de color de fondo

Respuesta

8

En Chrome puede usar el inspector DOM para observar el estilo calculado del cuerpo y también la herencia/anulación de las reglas CSS que resultan en este estilo calculado.

Si configura document.body.style.backgroundColor (no la propiedad bgColor) verá que en realidad puede cambiar el color de fondo aquí. Todo depende de si hay otra regla en otro lugar con mayor especificidad o no. El inspector DOM le dirá si ese es el caso.

+2

1, creo que deberíamos proponer esto en meta debemos? 'document.body.style.background =" pink ";' – Jeroen

+0

@Jeroen En realidad, no se ve tan mal. –

3

CSS es su respuesta. Pruebe

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

Los estilos CSS reemplazan las propiedades de los elementos.

+0

¿Está diciendo que al hacer esto, el color de fondo cambiará sin importar la implementación de css que esté usando el sitio, porque está reemplazando? –

+0

Bueno, sí. El fondo de la página cambiará de color. Es posible que eso no cambie el color que ve: muchos sitios usan un contenedor div que tiene su propio color de fondo o divs dentro de los divs que tienen colores de fondo. – FrankieTheKneeMan

3

Si lo hace, el fondo cambiará aquí también. Pero como puede ver con un Inspector DOM, el fondo no es lo que realmente ve. Este es un div llamado container. Si cambia el fondo de este div, verá los cambios

Editar: Ohh veo que el contenedor es transparente. Entonces use document.body.style.backgroundColor y luego funcionará. :)

1

Siempre puede establecer el color del fondo del cuerpo. Sin embargo, eso no necesariamente refleja el fondo de la vista actual. Además, si hay definiciones más específicas para un elemento que la definición que usted impone, se seguirán utilizando. Por lo tanto, no hay un "por qué no" porque tiene razón: siempre puede cambiar la página localmente.

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

Agregue una explicación de por qué esto funcionará. – Reg

0

Puede cambiar el color de fondo del cuerpo en html. use la propiedad css como este código.

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

Puede marcar más propiedad para cambiar el color del cuerpo mediante este enlace http://www.webclasses.in/css-background/

+0

Tenga en cuenta que esta pregunta se trata de cambiar el color de fondo mediante programación a través de Javascript, no las propiedades básicas de CSS. –