2012-06-19 11 views
6

Quiero tener un elemento dentro de un div conjunto de altura 100%. El elemento (un elemento ul) debe establecerse relativo. Los elementos de la lista se establecen como absolutos pero en referencia al elemento principal.Establecer un elemento dentro de un div al 100% de altura

Véase el ejemplo: http://jsfiddle.net/mbecker/ee78G/2/

Cómo establecer el elemento ul verde a la altura del 100%?

¡Gracias de antemano!

+0

No creo que pueda darle una altura a 'ul' porque no es un elemento de bloque. ¿Es el 'ul' que quieres ser 100% alto, o el' li's dentro de él? –

+2

@JesseWebb 'ul' es un elemento de nivel de iirc. – canon

+0

@antisanity - Pensé que solo los elementos 'li' eran de nivel de bloque. Traté de averiguarlo con certeza, pero el sitio del W3C (http://www.w3schools.com/tags/tag_ul.asp) no lo dice de ninguna manera. ¿Cómo lo descubrirías con seguridad? –

Respuesta

7

Quité el height: auto !important en #main. Luego, pude establecer height: 100% en #list.

No estoy seguro si el height: auto es necesario.

http://jsfiddle.net/KBHcs/

para dar más explicación, el height: auto !important hace que el contenido de definir la altura del elemento y el! Importante fue sobrescribir los height: 100%. En este caso, la "sd" era la única en el ul, ya que el li está absolutamente posicionado y, por lo tanto, no forma parte del flujo de documentos.

+0

¡Ahh! ¡Con la explicación mereces uno más! ;) ¡Recuerde siempre a los visitantes futuros su respuesta! – Zuul

+0

¡Gran explicación! ¡Muchas gracias! :) – mbecker

2

Puede establecer el elemento #list para usar el posicionamiento absoluto y luego establecer las coordenadas superior e inferior. Aquí está un ejemplo de su jsFiddle modificación:

http://jsfiddle.net/ee78G/11/

+0

+1 - No sabía que esto fuera posible, ¿funcionará esto en cualquier navegador? – Cyclonecode

+0

Sí, funciona en cualquiera de los navegadores modernos. IE8 + Creo, Firefox, Chrome y Safari. –

Cuestiones relacionadas