Comunidad de diseño web y desarrollo en internet online

Estirar imagen fondo de capa

Citar            
MensajeEscrito el 05 Ago 2007 08:19 am
Tengo una página web compuesta (entre otras cosas) por tres capas (DIV) puestas una junto a la otra formando tres columnas. El contenido principal va a estar en la capa central, las que están a su lado son de tamaño fijo. Así:


Ahora bien, quiero ponerle un marco al DIV central como imagen de fondo que encierre todo el DIV. Así:


Para ello uso "background-image" en el CSS correspondiente. Suponiendo que ese DIV mide 500px de ancho debo crear una imagen de 500px de ancho y todo funciona bien excepto que estoy atado al ancho de la imagen creada. No puedo hacer que el DIV central varie de tamaño dependiendo de la resolución de la pantalla del visitante, además la imagen de fondo es asquerosamente pesada.

He intentado muchas cosas para solucionar esto pero siempre obtengo algo como esto:


Pregunta: ¿hay alguna forma de que la imagen de fondo se estire hasta abarcar siempre el ancho del DIV sin importar si el ancho del DIV está dado en pixels o porcentaje?.
(nota sin importancia: si estuviera en Delphi se arregla poniendo la propiedad stretch a true y a otra cosa, ¿existirá algo así en CSS?)

Esto recién lo estoy haciendo asi que si me dicen que estoy encarando este "problema" de forma incorrecta y debo tirar todo y comenzar de cero, no hay problema. Ya probé con TABLE y no me gustaría recurrir a IFRAME o FRAMEs.

Gracias por sus sesudas respuestas :P

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 05 Ago 2007 07:57 pm
No quieres usar border: pues ese marco que quieres poner al div central tiene algún tipo de diseño y por eso debe ser una imagen. ¿es así?

Por gonarin

32 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Ago 2007 02:06 am
gonarin: así es. Quiero ponerle un borde artístico. Un difuminado como se ve en la imagen.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 06 Ago 2007 02:38 am
Si el div tiene una altura fija, podrías hacer una imagen del alto del div, de 1px de ancho y ponerla como background y con background-repeat:repeat-x; Esta imagen tiene los bordes superior e inferior difuminados. Para los bordes laterales no estaría en el background sino que serían otras dos imágenes del alto del div y del ancho del propio borde difuminado. Cada imagen estaría dentro del div, una float:left; y la otra float:right;

Creo que podría andar, siempre y cuando la altura del div sea fija.

Fijate en esta página. No te fijes en la calidad de las imágenes, que no son mi fuerte.
3 columnas

Por gonarin

32 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Ago 2007 05:33 am
Muy inteligente, la verdad.

Eso de poner las imágenes como float a izquierda y derecha me evitaría darle padding al DIV para el contenido, excepto en la parte superior.

Gracias por el consejo.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 06 Ago 2007 12:53 pm
Mira, pede que esto sea lo que quieras hacer. Leete este post y mira los enlaces.

Por ryuz

350 de clabLevel

2 tutoriales

 

firefox
Citar            
MensajeEscrito el 07 Ago 2007 05:38 am
ryuz:
Ya veo... La solución que propones allí está buena pero encontré el mismo problema que tú: en IE6 no queda bien (en Opera se ve fantástico!).

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.