2012-01-26 17 views
5

Tengo un div de 400px x 400px que quiero desplazar verticalmente. Así que estoy configurando overflow-y: auto. Pero ocasionalmente, quiero que el contenido dentro del div se desborde -x: visible.Hack HTML/CSS para permitir overflow-x: auto & overflow-y: visible?

Esto no funciona. Creo que es porque no puede establecer diferentes valores de desbordamiento si uno de ellos es visible.

¿No?

De lo contrario, ¿hay una solución css/js decente para esto? Observé que la aplicación de flujo agrega un divisor de posición calculada y absolutamente absoluta al cuerpo cada vez que ocurre una situación como esta: http://cl.ly/32392W0U2t1y2Q103X2d. ¿Es esta la mejor solución? ¿Y hay complementos/tutoriales para mirar?

+0

Aquí hay un violín para la gente con la que meterse. Tan pronto como se introduce una barra de desplazamiento, la segunda viene con ella. http://jsfiddle.net/YT7AC/ – mrtsherman

Respuesta

0

Trate de añadir white-space: nowrap;

1

No es posible establecer diferentes valores de desbordamiento si uno de ellos es visible; el borrador del modelo de caja de CSS3 dice esto en la sección overflow: "Los valores calculados de 'overflow-x' y 'overflow-y' son los mismos que sus valores especificados, excepto que algunas combinaciones con 'visible' no son posibles: si se especifica como 'visible' y el otro es 'scroll' o 'auto', luego 'visible' se configura como 'auto'. "

En cuanto a las soluciones, primero debe decidir cuál es el comportamiento deseado. Cuando tienes una barra de desplazamiento a la derecha, ¿cómo se desborda -x: trabajo visible? ¿Debería el contenido desbordado continuar a la derecha de la barra de desplazamiento de alguna manera? Esto sería difícil de arreglar. ¿O debería la barra de desplazamiento moverse hacia la derecha?

+1

Derecha de la barra de desplazamiento, sí. Parece que algunas aplicaciones añaden un divisor de posición absoluta al cuerpo. Eso funcionaría, ¿sí? –

+0

Buena explicación de por qué esto es visualmente difícil. Tengo el mismo requisito, y no había terminado sobre este problema. – Breiz