2011-12-08 3 views
6

Ho un div e quel div ha un'altezza di 200 px. All'interno del div c'è il testo e non voglio che il div abbia barre di scorrimento quindi ho impostato overflow: nascosto.Overflow di un elenco all'interno di un div di cui overflow: nascosto

Ora, all'interno di quel div c'è anche un elenco, che funge da menu a discesa. Quando clicchi sulla lista/menu a tendina, voglio che arrivi in ​​cima al div principale.

Ecco un esempio con il div principale per overflow: hidden:

enter image description here

e questo è un esempio senza overflow: hidden. Quindi voglio il seguente ma il testo non trabocca.

enter image description here

jsFiddle: http://jsfiddle.net/w8kQA/

+2

+1 buona domanda, ho incontrato questa prima e mai scavato abbastanza in profondità per scoprirlo. Ha sempre lavorato su di esso (come la posizione assoluta di un elemento sopra la scatola, ecc.) – Jakub

+0

È già posizionato in modo assoluto ... – jQuerybeast

+0

È importante utilizzare l'elenco a discesa all'interno di questa casella? Cosa ne pensi del menu a discesa con posizione assoluta, ma non all'interno di questo riquadro? – tildy

risposta

2

È possibile impostare l'overflow: hidden sull'elemento all'interno della scatola, invece che sulla scatola stessa:

http://jsfiddle.net/w8kQA/1/

+2

Bella risposta. Puoi cambiare altezza in altezza: inherit' in 'p' per incapsularlo un po 'di più. Questo richiederebbe di cambiare la lista in 'position: absolute' però: http://jsfiddle.net/w8kQ/5/5/ –

1

Nei commenti di cui sopra , dici che hai 20 scatole in un div.

Se questo è il caso, vorrei avvolgere lo #box e lo .list all'interno di un div holder. In questo modo puoi ottenere il tuo layout e avere ancora più caselle in un div.

JSFiddle: http://jsfiddle.net/w8kQA/2/

+0

Preferisco la tua risposta sul commento di ptriek quindi – jQuerybeast

+0

Nessun problema :) Ho preferito la sua risposta alla mia quindi ho solo aggiunto un piccolo miglioramento ad esso –