Foros del Web » Programando para Internet » Javascript »

Fondo degradado

Estas en el tema de Fondo degradado en el foro de Javascript en Foros del Web. Alguien me podría decir como poner un fondo degradado en mi pagina?. En esta pagina salen dos ejemplos para ello, pero lo que quiero exactamente ...
  #1 (permalink)  
Antiguo 23/09/2003, 09:08
 
Fecha de Ingreso: septiembre-2003
Mensajes: 34
Antigüedad: 21 años, 2 meses
Puntos: 0
Exclamación Fondo degradado

Alguien me podría decir como poner un fondo degradado en mi pagina?. En esta pagina salen dos ejemplos para ello, pero lo que quiero exactamente es poner un fondo degradado estático que tenga color rojo por arriba y amarillo (oro) por abajo. Vi un ejemplo por ahi pero no sé cual serian las partes que tendría que cambiar para modificar los colores, solo se que el script calcula el tamaño de la pantalla y crea el degradado a partir de esta.
Gracias amigos. Ahora si no es mucho pedir, podrian mandarme un mensaje aqui [email protected] Gracias
__________________
El Mutor
  #2 (permalink)  
Antiguo 23/09/2003, 11:09
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Hola mutor, bienvenido a los foros :

Si te has fijado en las FAQs hay un código que hace un degradado, pero con esos colores, pero invertidos.

Tan solo hay que invertir los valores del bucle que consigue el efecto:

Código PHP:
function ini()    {
    var 
elFondo document.getElementById("fondo").style;
    var 
ancho document.body.clientWidth;
    var 
alto =  document.body.clientHeight;
    
elFondo.width ancho;
    
elFondo.height alto;
    var 
altoCelda alto 256;
    var 
tabla "<table cellpadding=0 cellspacing=0 width=100% height=100%>";
    for (var 
0256++)
        
tabla += "<tr><td width=100% height=" altoCelda " style='background-color: #FF" color(i) + "00' ></td></tr>"
    
tabla += "</table>";
    
document.getElementById("fondo").innerHTML tabla;

Saludos

P.D: El mensaje está duplicado, ten cuidado para otra vez. También lo puedes borrar si lo editas.

Última edición por caricatos; 23/09/2003 a las 11:21
  #3 (permalink)  
Antiguo 24/09/2003, 05:25
 
Fecha de Ingreso: septiembre-2003
Mensajes: 34
Antigüedad: 21 años, 2 meses
Puntos: 0
Pregunta degradado

Gracias Caricatos por la ayuda, ese el script que tengo, solo que en este caso el rojo va abajo, disculpa la insistencia y mi ignorancia, pero, como haria para invertir estos colores y tambien para cambiar el tono del amarillo a dorado?. Gracias de antemano y disculpen si envié dos veces el mismo mensaje, era mi "primera vez". Suerte.
__________________
El Mutor
  #4 (permalink)  
Antiguo 24/09/2003, 12:03
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Hola otra vez:

En el pequeño código que te puse arriba, aunque parece igual, está hecho el cambio para invertir los colores... En vez de un bucle de 255 a 0, es de 0 a 255...

Código PHP:
for (var 0256++) 
Para cambiar otros colores es algo más complicado, aunque según el rango se podría hacer, pero te voy a plantear otra opción que es muy parecida, y es poner una imagen de fondo con el degradado que quieras (claro que tendrías que crearte una imagen para ello) y redimensionar esa imagen.

Este otro tema que trata del asunto.

Saludos
  #5 (permalink)  
Antiguo 24/09/2003, 13:57
 
Fecha de Ingreso: septiembre-2003
Mensajes: 34
Antigüedad: 21 años, 2 meses
Puntos: 0
Gracias Caricato campeon..me acabas de dar la ayuda que he estado buscando estos ultimos días. Pero no crees que si pongo una imagen mas o menos grandita y la redimensiono la pagina puede ser muy pesada?? .
Es una pagina de tatuajes y esta para comenzar ya tendrá bastantes graficos, por eso mi preocupacion.
Y la segunda, me dices que cambiar los colores es un poco complicado, lo mas cercano que veo en el script para modificar los colores es esto:
style='background-color: #FF" + color(i) + "00' >

Segun el rango de colores las combinaciones son de 6 caracteres entre letras y numeros y aqui solo veo 4

Bueno Caricatos te agradezco otra vez eres un maestro
__________________
El Mutor
  #6 (permalink)  
Antiguo 25/09/2003, 03:18
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Hola otra vez:

Empezando por lo último, fíjate que hay una función "color(i)"
que devuelve el valor de i en formato hexadecimal de 2 letras (00..FF)

Lo del peso de la imagen, ten en cuenta que el ejemplo de degradado es de 256 tonalidades. No creo que tenga mucho peso un fichero de 256 x 1, incluso puedes usar un rango mucho mayor y hacer degradados oblícuos con ficheritos gráficos que tengan muy poco peso.

Saludos
  #7 (permalink)  
Antiguo 05/10/2003, 11:32
 
Fecha de Ingreso: septiembre-2003
Mensajes: 34
Antigüedad: 21 años, 2 meses
Puntos: 0
caricatos campeon,cuando aplico el script k me diste sale lo k kiero, pero esto lo k crea es una capa verdad?, cuando pongo mas objetos o texto estos no se ven debido a que el degradado va encima de ellos, como hago para pasarlo al fondo del todo? y porqué en el ejemplo: http://es.geocities.com/mutor54/menu.htm me queda un espacio en blanco abajo del todo??
__________________
El Mutor
  #8 (permalink)  
Antiguo 05/10/2003, 11:38
 
Fecha de Ingreso: septiembre-2003
Mensajes: 34
Antigüedad: 21 años, 2 meses
Puntos: 0
Olvidé decirte que las letras del titulo es una imagen que tuve que poner abriendo el dreamweaver, creando una capa y poniendola encima
__________________
El Mutor
  #9 (permalink)  
Antiguo 05/10/2003, 19:19
 
Fecha de Ingreso: diciembre-2001
Mensajes: 109
Antigüedad: 23 años
Puntos: 0
imágen liviana

Hola Mutor, aunque no lo creas una imagen de fondo es mucho mas liviana que el script, el tema es que para hacerla liviana tiene que ser de no más de 4 pxl de alto o de ancho (2 pxls es lo que yo uso) depende de como quieras hacer el degrade, además con una imágen podes experimentar con varios colores en el degrade o sea por ejemplo, puedes comenzar con verde oscuro seguir con verde claro pasar a amarillo y terminar con rojo y además puedes determinar en que lugar comienza y termina cada uno etc etc, lo huso muchísimo en mis páginas en sentido horizontal o vertical, fijate como queda en http://lihuen.com/
En esta página al estar vertical y como marca de agua, cuando deslizas el scroll parece que las imágenes y los textos fueran apareciendo desde una zona indefinida.
La imágen la tienes que hacer con un editor de imágenes como Corel o Adobe y guardar como jpg o gif, con jpg los colores se diluyen unos en otros con más fluidez por el sistema de compreción.
Si tienes alguna duda escribime a [email protected] ya que no tengo mucho tiempo para visitar el foro, aunque me encanta el espiritu de colaboración y la buena onda que aquí reyna.
Barba
  #10 (permalink)  
Antiguo 09/10/2003, 22:51
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años, 1 mes
Puntos: 317
Hola todos :

Barba : Quizo el destino que viera tu página en 1024×768 con 256 colores. Te dejo dos sugerencias.
Como la imagen de fondo no llega hasta el borde de la ventana, puedes usar como color de fondo en el documento el último color del degradé, es decir, si tu imagen comienza arriba con #FFFFFF y termina abajo con #808080, el color de fondo será #808080.
Otra: si el color que usas es algo dificil de imitar, puedes leer con un escript la resolución de pantalla del cliente y cambiar la imagen de fondo por una de 480, 600 ó 768 pixeles de alto, según corresponda.

Y ya que estamos con fondos degradados; ésto no funciona como fondo de documento, pero siempre está el truco de poner un DIV ajustado y meter la página dentro.

Código:
<HTML>
<BODY leftmargin=0 topmargin=0 marginheight=0 marginwidth=0>

<div style="padding:15px 10px; height:100%; width:100%; 
filter:progid:DXImageTransform.Microsoft.gradient
(startColorstr=#99FF0000, endColorstr=#99FFFF00)" 
/*LOS DOS PRIMEROS VALORES DE CADA COLOR SON ALPHA*/>

<h2>Fondo degradado.</h2>
_<p>_<p>_<p>_<p>_<p>_<p>_<p>_<p>_<p>_<p>_<p>_<p>_<p>_<p>_<p>_
<h3>Fin</h3>

</div>

</BODY>
</HTML>
Tiene la ventaja de mantener el ajuste con la ventana y la desventaja de funcionar sólo en IE 5.5+ .

saludos

furoya

http://www.forosdelweb.com/showthrea...hreadid=115260
  #11 (permalink)  
Antiguo 15/11/2007, 05:26
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61
Re: Fondo degradado

Caricatos! Yo también me uno a revitalizar viejos hilos!

Necesitaba un degradado para una página y he tomado tu codiguillo de épocas pretéritas y lo he adaptado a lo que quería. Perdona que fuchicara con él. Lo pongo aquí por si a alguien le puede venir bien. Símplemente hace un degradado desde un color inicial y otro final.

Código:
<html>
<head>
<title>
    Degradado
</title>
<style>
.fonddo{
padding:0;
margin:0;
position:relative;
float:left;
height:100%;
width:1%;

}
</style>
<script language=javascript>
incremento=[0,0,0];
coloresInicio=[220,200,58];
coloresFinal=[211,98,48];
for(a=0;a<3;a++){
incremento[a]=(coloresFinal[a]-coloresInicio[a])/100;

}

function ini()    {

	var tabla="";
	for (var i = 0; i <= 100; i++){
	rgb="";
	for(a=0;a<3;a++){
	apendice=(a==0)?"":",";
	coloresInicio[a]+=incremento[a]
	color=parseInt(coloresInicio[a]);
	rgb+=apendice;
	rgb+=color;
	}
    tabla += "<div class='fonddo' style='background-color: rgb("+rgb+")'></div>";
	}
    document.getElementById("fondo").innerHTML = tabla;
}
</script>
 </head>
<body style="margin:0" onresize=ini() onload="ini()">
<div id=fondo style="position:absolute; top:0; left:0;height:100%"></div>
<div id=general style="position:absolute; top:0; left:0;">

<div>

</body>
</html>
Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #12 (permalink)  
Antiguo 15/11/2007, 05:56
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Re: Fondo degradado

Hola KarlanKas:

Cuando ví el título del mensaje, pensaba que en este tema podía participar ...

Lo cierto es que si tienes posibilidad de usar php, hay un script que creo que es mucho mejor, usando una imagen generada con las librerías GD: Gradientes (php + librerías GD)... también en la página de mi perfil (caricatos.net) hay algunas cosas sobre gradientes, como el artículo de maestros del web para obtener colores intermedios RGB, o un artículo que no está todavía más que en mi página sobre Gradientes

Pero si te sirve lo que tienes (aunque hayas fuchicado el código original), me alegro... y en todo caso, si necesitas una mano, cuenta con ella (no pienso embadurnármela )

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #13 (permalink)  
Antiguo 15/11/2007, 06:06
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61
Re: Fondo degradado

La verdad es que es una página sencillita. No precisa php. Y con lo que puse me va bien. Tarda un poco en cargarse pero bueno... funciona.

Gracias por tu ofrecimiento!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #14 (permalink)  
Antiguo 03/09/2008, 01:37
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Fondo degradado

el tema es viejo pero a lo mejor a alguien le podria servir

Código:
<BODY style="filter:progid:DXImageTransform.Microsoft.gradient (startColorstr=#ffffff, endColorstr=#888888)">
es una adaptacion del código que aportó furoya

solo hay que colocarlo en el cuerpo del html y listo

lo probé en ie7 y me funcionó como background degradado y me es util porque le da un poco mas de estetica a una aplicacion de intranet donde todas las pc usan IE (y me quita la necesidad de montar imagenes de fondo)
  #15 (permalink)  
Antiguo 20/10/2008, 17:12
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años, 1 mes
Puntos: 317
Respuesta: Fondo degradado

Hola Egomanus :

Me da un poco de vergüenza que me levantes el pulgar a mí, justo en un tema donde han participado algunos de los próceres del foro de javascript con ejemplos que son brillantes. Pero igual se agradece.

Estos códigos son un poco viejos, y el de mi enlace debe ser de la época en que no había gradient, por eso usábamos el truco de adaptar alpha.

Con el tiempo fuimos agregando más temas, con má###étodos y versiones de los ya posteados; pero parece que el que nos falta es el de canvas, así que aprovecho y lo pongo aquí

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<canvas id=degrad></canvas>
<head>
<title>DEGRADADO CON CANVAS / GRADIENT.</title>
<script type="text/javascript">
function gradiente(){
var prueba = document.getElementById('degrad');

if (prueba.getContext){
var canv = prueba.getContext('2d');

var grad = canv.createLinearGradient(0,0,0,200);
grad.addColorStop(0,'#ff0000');
grad.addColorStop(1,'#ffff00');

canv.fillStyle = grad;
canv.fillRect(0,0,1000,1000);
alert("Con canvas.");
}

else alert("Con gradient.");

}
onload = gradiente;
</script>
<style type="text/css">
body, html {height:100%; width:100%; overflow:hidden; margin:0; }
body { overflow:auto; 
filter:progid:DXImageTransform.Microsoft.gradient (startColorstr=#ff0000, endColorstr=#ffff00); }
canvas { height:100%; width:100%; position:absolute; top:0; 
left:0; z-index:-1; }
#contenedor { margin:15px 10px; }
center { font-size:200%; }
</style>
</head>
<body> 
<div id=contenedor> 
<h2>Fondo gradiente con <tt>canvas</tt> (FF, Op, Saf?, Chr) y <tt>gradient</tt> (IE).</h2> 

<center>|<br>|<br>|<br>|<br>|<br>|<br>|<br>|<br>|<br>|<br>|
<br>|<br>|<br>|<br>|<br>|<br>|<br>|<br>|<br>|<br>|
<br>|<br>|<br>|<br>|<br>|<br>|<br>|<br>|<br>|<br></center>
</div>
</body>

</html> 
Tiene un problema en Chrome (beta), pero no con el degradado sino con la barra de desplazamiento. (Nuevo browser, nuevo dolor de cabeza.)

Lo que me gustaría rescatar para el final, es la acertada redacción de tu mensaje. Es costumbre que si alguien resucita un tema viejo, después lo cierren, pero he notado que ocurre sólo cuando el mensaje es harto desubicado. Si está escrito correctamente y con las salvedades del caso (p.e. que es para "una aplicacion de intranet donde todas las pc usan IE ") el post se mantiene, porque todavía puede ser útil (¡y a éste ya lo levantaron 2 veces! ).
Me parece que puede ser un buen ejemplo —especialmente para los novatos— sobre cómo postear de manera útil, y sobre todo respetuosa, en temas que ya tienen sus años.
Y así evitamos que se pierda o se desparrame la información.

Saludos

furoya.

P.D.: En Safari también se puede usar -webkit-gradient(), pero no lo probé. En Chrome sí, y no anda.


Background degradado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:58.