2011-04-06 35 views
5

Tengo 4 divs con los identificadores A, B, C y D, como a continuación;Cómo ajustar automáticamente (estirar) altura y ancho de div usando jQuery o CSS

<div id="A"></div> 
<div id="content"> 
    <div id="B"></div> 
    <div id="C"></div> 
</div> 
<div id="D"></div> 

Div A & D han fijado anchura & altura. Div B tiene ancho fijo. Quiero que la altura de Div B y la altura + ancho de Div C se calculen automáticamente. Quiero extender Divs B y C entre div A y D. También quiero estirar Div c entre div B y el margen derecho. Por lo tanto, la página no tendrá barras de desplazamiento ni espacio vacío.

Mi diseño es esperado como a continuación

enter image description here

¿Cómo puedo hacer esto posible utilizando jQuery/css ?? ¿Alguien tiene una solución y me dan un violín/demo?

Gracias de antemano ... :)

blasteralfred

+0

¿Se ha fijado la altura de la estructura general, o debería expandirse al 100% de altura del elemento principal? ¿Qué navegadores necesitas para apoyar? – thirtydot

+0

me centro en firefox, pero creo, puedo tener soporte para navegadores cruzados si calculo las longitudes usando jquery. Altura: 100% no funcionará en los navegadores –

Respuesta

4

Pues bien, pese a que, aún no estoy del todo seguro de lo que quiere.

No creo que tenga que usar jQuery tampoco. ¿Cómo es esto?

Live Demo

CSS:

#container { 
    position: relative; 
    width: 200px; 
    height: 200px; 
} 
#top, #left, #right, #bottom { 
    position: absolute 
} 
#top { 
    top: 0; 
    width: 100%; 
    height: 50px; 
    background: #00b7f0 
} 
#left { 
    top: 50px; 
    width: 50px; 
    bottom: 50px; 
    background: #787878 
} 
#right { 
    top: 50px; 
    left: 50px; 
    right: 0; 
    bottom: 50px; 
    background: #ff7e00 
} 
#bottom { 
    bottom: 0; 
    width: 100%; 
    height: 50px; 
    background: #9dbb61 
} 

HTML:

<div id="container"> 
    <div id="top"></div> 
    <div id="left"></div> 
    <div id="right"></div> 
    <div id="bottom"></div> 
</div> 

O tal vez quiere como este en su lugar? http://jsfiddle.net/thirtydot/4BR9s/1/

+0

quiero que el contenedor llene la pantalla, es decir, ancho y alto 100% –

+0

@blasteralfred: predije que podría ser el caso. Ver la segunda versión en la parte inferior de mi respuesta. – thirtydot

+0

exactamente lo que estoy buscando ... Gracias .. ':)' –

1

1 para el diagrama!

No creo que necesite jQuery para esto. Sé que solicitó un ejemplo específico para usted, pero hay varios buenos recursos que aparecieron en Google. Busque 'diseño fluido' y concretamente aquí: http://css-tricks.com/the-perfect-fluid-width-layout/

+0

esto no funcionará si div está vacío ... no funciona .... –

1

Aquí es un ejemplo de jQuery 'animado':

$('your_selector').animate({ 
'height':'<your_calculated_height>', 
'width':'<your_calculated_width>' 
},'slow'); 
Cuestiones relacionadas