2012-06-19 10 views
6

Voglio avere un elemento all'interno di un div impostato in altezza 100%. L'elemento (un elemento ul) deve essere impostato relativo. Le voci dell'elenco sono impostate in modo assoluto ma in riferimento all'elemento padre.Impostare un elemento all'interno di un div al 100% di altezza

vedere l'esempio: http://jsfiddle.net/mbecker/ee78G/2/

Come impostare il verde ul Elemento da altezza al 100%?

Grazie in anticipo!

+0

Non penso che si possa dare un'altezza 'ul' perché non è un elemento di blocco. E 'il' ul 'che vuoi essere alto al 100%, o il 'li's al suo interno? –

+2

@JesseWebb 'ul' è un elemento a livello di blocco iirc. – canon

+0

@antisanity - Ho pensato che solo gli elementi 'li' fossero a livello di blocco. Ho provato a scoprirlo di sicuro, ma il sito W3C (http://www.w3schools.com/tags/tag_ul.asp) non dice in alcun modo. Come lo scoprirai di sicuro? –

risposta

7

ho rimosso il height: auto !important su #main. Quindi, sono stato in grado di impostare height: 100% su #list.

Non sono sicuro che sia necessario il height: auto.

http://jsfiddle.net/KBHcs/

per dare più spiegazioni, il height: auto !important rende il contenuto definire l'altezza dell'elemento e l'! Importante è stata la sovrascrittura del height: 100%. In questo caso, la "sd" era l'unica cosa nel ul come il li sono posizionati in modo assoluto e, pertanto, non fanno parte del flusso di documenti.

+0

Ahh! Con la spiegazione ti meriti un vantaggio! ;) Ricorda sempre i futuri visitatori della tua risposta! – Zuul

+0

Ottima spiegazione! Grazie mille! :) – mbecker

2

È possibile impostare l'elemento #list per utilizzare il posizionamento assoluto e quindi impostare le coordinate superiore e inferiore. Ecco un esempio del vostro jsfiddle modificato:

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

+0

+1: non sapevo che fosse possibile, funzionerà con qualsiasi browser? – Cyclonecode

+0

Sì, funziona in uno qualsiasi dei browser moderni. IE8 + Credo, Firefox, Chrome e Safari. –

Problemi correlati