Kiedy studiowałem wartości overflow
właściwości, natknąłem się na te dwie wartości: auto
i scroll
, która dodaje paski przewijania, jeśli zawartość przepełnia element.
Czy ktoś mógłby mi wyjaśnić, jaka jest różnica między nimi?
Auto pokaże pasek przewijania tylko wtedy, gdy jakakolwiek treść zostanie obcięta.
Przewijanie zawsze jednak pokaże pasek przewijania, nawet jeśli cała zawartość pasuje i nie można go przewijać.
scroll
nie widzę paska przewijania, jeśli zawartość pasuje. Ale na wszelki wypadek poszedłem z,auto
ponieważ chcę pokazać pasek przewijania tylko wtedy, gdy zawartość jest obcięta.overlow: scroll
sprawia , że pudełko jest cieńsze: jsbin.com/letog/2/editoverflow: scroll
ioverflow: auto
działają identycznie, gdy kontener jest wystarczająco duży, aby pomieścić zawartość.overflow: scroll
ukryje całą przepełnioną zawartość i spowoduje pojawienie się pasków przewijania na danym elemencie. Jeśli zawartość się nie przepełni, paski przewijania będą nadal widoczne, ale wyłączone.overflow: auto
jest bardzo podobny, ale paski przewijania pojawiają się tylko wtedy, gdy zawartość jest przepełniona.Istnieje podobne wyjaśnienie tego problemu , z kilkoma zrzutami ekranu ilustrującymi ten punkt.
źródło
Spójrz na sztuczki CSS .
Auto pokaże pasek przewijania wtedy i tylko wtedy, gdy zawartość się przepełni; ale scroll zawsze pokaże pasek przewijania, niezależnie od tego, czy zawartość jest przepełniona, czy nie.
źródło
Dodanie punktu na odpowiedź,
Overflow:auto
nie działa w IE7 gdy położenie pojemnika jest bezwzględne położenie względne przelewowy IE7 . Ale ustawienieOverflow:scroll
działaźródło
przepełnienie: przewijanie pokaże zarówno poziomy, jak i pionowy pasek przewijania, nawet jeśli nie potrzebujesz jednego lub drugiego. while, overflow: auto pokaże pasek przewijania, którego potrzebuje twój div. więc w zasadzie auto pomoże ci pozbyć się obu pasków. Oto więcej tego:
https://css-tricks.com/the-css-overflow-property/
źródło