2008-10-30 22 views
9

div, zawierający tabelę posiada następujące CSS stylizacji:Internet Explorer tworzy poziomy pasek przewijania dla szerokości pionowy pasek przewijania w

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

To sprawia, że ​​gdy stół jest> 200px, pasek przewijania pojawia się tylko na stole a pozostałe elementy na stronie pozostaną na miejscu. Wspaniały!

Teraz dla naszego przyjaciela IE ...
W IE element spawnuje pionowy pasek przewijania bez powiększania elementu zawierającego. Aby to "rozwiązać", tworzony jest poziomy pasek przewijania.
To jest do bani. I nie chcę, żeby to ssało ...

Jakieś pomysły?

--EDIT--
I okazało się, że linia

overflow-x: hidden; 

siły IE ignorować poziomego paska przewijania. To jest lepsze ... ale nie całkiem, ponieważ teraz część mojego stołu jest niewidoczna.

+0

Nie możesz ustawić szerokości na zawierającym div? – Prestaul

+0

Tak, mógłbym. Ale nie znam jeszcze szerokości. To zależy od szerokości wartości. –

Odpowiedz

2

Ostrożnie.

overflow-x 

nie jest najczęściej obsługiwanym atrybutem tam.

staram się iść z elementu div z pewnym prawej padding:

CSS:

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

EDIT: Musisz dodać atrybut wysokość gdzieś to zadziałało! Zazwyczaj mam zestaw domyślny w deklaracji div.scroll, a następnie dostosowuję go do konkretnych przypadków (większość). HTML:

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

Dzięki za odpowiedź. Zrobiłem coś podobnego, ale użyłem * -hack, więc tylko IE to widzi. Nienawidzę tego, ale dopóki nie znajdę lepszego sposobu, będzie musiał to zrobić. –

+0

Hm, co masz na myśli przez "musisz dodać gdzieś atrybut wysokości, aby to zadziałało"? Próbuję rozwiązać ten problem już kilka dni, a jak dotąd żadne z rozwiązań proponowanych w Internecie nie działało dla mnie ... :( –

Powiązane problemy