2009-03-30 12 views
17

Si, por ejemplo, tengo un menú que usa posicionamiento fijo pero es más grande que el alto de la ventana actual, ¿hay alguna manera de permitir que se desplace? El comportamiento predeterminado del navegador es simplemente ocultarlo y no permitirle acceder a él.Posicionamiento fijo con desplazamiento

div#sidebar { 
    position:fixed; 
    top:30px; 
    left:0; 
    bottom:4px; 
    width:148px; 
    background-color:#d7d7d7; 
} 

Aquí hay un fragmento de lo que tengo actualmente. ¿Necesitaría algo de JavaScript o algo así?

EDIT: No estoy seguro de si esto es realmente posible para corregir. Quiero un elemento que está a 30 píxeles de la parte superior del documento. Quiero permitir que esto se desplace utilizando desbordamiento: automático y alto: 100%. De cualquier manera, parece que lo hago, la barra de desplazamiento estará oculta, o una parte del div estará oculta.

+0

Has aceptado una respuesta, por lo tanto, la gente asumirá que funciona. – cjk

+0

En relación con la pregunta, la respuesta es correcta, pero en relación con el contexto, no es perfecta. Soy plenamente consciente de esto, pero el hecho de que una pregunta haya sido marcada como respondida no indica que la discusión haya terminado, de lo contrario, una pregunta se cerraría una vez respondida. – Kezzer

Respuesta

24

Deberá establecer overflow:scroll (o overflow:auto) en ese div y establecer la altura en 100%.

+0

Eso funcionaría bien, pero con la parte superior: 30px configurado, las barras de desplazamiento no se mostrarán correctamente. Tendría que contener este div dentro de otro div. ¿Han fijado la posición en el div externo y algo más en el div interno? – Kezzer

+0

Sí, eso debería funcionar. Establezca un div interno con su contenido, establezca el div externo con padding-top: 30px y deshágase de top: 30px :) – Seb

+0

En los casos donde no puede establecer 'height: 100%' (expandiendo las barras de navegación en el móvil, por ejemplo), simplemente puede usar 'max-height: 100%' – JanBrinker

Cuestiones relacionadas