2008-10-30 41 views
9

un div, que contiene una tabla tiene el siguiente estilo CSS:Internet Explorer crea barra de desplazamiento horizontal para el ancho de barra de desplazamiento vertical

#formulaAlts { 
    float: right; 
    height: 200px; 
    overflow: auto; 
} 

Esto hace que sea para que cuando la mesa es> 200 píxeles, una barra de desplazamiento aparece sólo para la mesa y los otros elementos en la página permanecen. ¡Estupendo!

Ahora para nuestro amigo IE ...
En IE, el elemento engendra la barra de desplazamiento vertical sin hacer crecer el elemento contenedor. Para "resolver" esto, se crea una barra de desplazamiento horizontal.
Eso apesta. Y no quiero chupar ...

¿Alguna idea?

--EDIT--
descubrí que la línea

overflow-x: hidden; 

fuerzas IE hacer caso omiso de la barra de desplazamiento horizontal. Esto es mejor ... pero no del todo porque ahora parte de mi mesa es invisible.

+0

¿No puede establecer el ancho en el div que contiene? – Prestaul

+0

sí, podría. Pero aún no sé el ancho. Depende del ancho de los valores. –

Respuesta

2

Cuidado.

overflow-x 

no es el atributo más compatible que existe.

que tienden a ir con un div que contiene con un poco de relleno derecho:

CSS:

div.scroll { 
    overflow:auto; 
    padding-right:6px; 
    /* I've found 6px to be just right my purposes, but try others*/ 
} 

EDIT: Usted tendrá que añadir una altura atribuir alguna parte para que esto funcione! Normalmente tengo un conjunto predeterminado en la declaración div.scroll y luego modifico eso para casos específicos (la mayoría). HTML:

<div class="scroll" > 
    <table> 
    <!-- your table stuff in here --> 
    </table> 
</div> 
+0

Gracias por la respuesta. Hice algo similar, pero utilicé el * -hack así que solo IE lo ve. Odio, pero hasta que encuentre una mejor manera, esto tendrá que hacer. –

+0

Hm, ¿a qué te refieres con "Necesitarás agregar un atributo de altura en algún lugar para que esto funcione"? Estoy tratando de resolver este problema desde hace algunos días, y hasta ahora ninguna de las soluciones sugeridas en Internet me ha funcionado ... :( –

Cuestiones relacionadas