2014-12-05 27 views
5

Buduję stronę, która musi mieć pewne elementy, które przyklejają się do górnej części strony, gdy w przeciwnym razie byłyby przewijane poza ekranem. Udało mi się to zrobić za pomocą position:absolute. Wszystko działało idealnie, ale potrzebne było przewijanie. Dodałem -webkit-overflow-scrolling: touch do css przewijanego obszaru. To wszystko zepsuło. Moje lepkie elementy z position:absolute są teraz przewijane z resztą zawartości.-webkit-przepełnienie-przewijanie przerwy absolutne pozycjonowanie

Moje pytanie jest takie:

Dlaczego -webkit-overflow-scrolling: touch wpływa na pozycjonowanie bezwzględne i czy istnieje sposób wokół to?

AKTUALIZACJA: Dodałem alert za każdym razem, gdy element podrzędny zostanie "naprawiony" lub "nieusunięty". Alerty nadal się uruchamiają, więc stylizacja wciąż jest stosowana, po prostu nie działa. Oznacza to, że nie ma problemu z utrzymaniem pozycji przewijania, ale raczej problem ze stylizacją.

UPDATE: Próbowałem za pomocą position: fixed zamiast position: absolute i -webkit-overflow-scrolling złamał że zbyt

UPDATE: Po dużo kopania, znalazłem odniesień do tego problemu i herehere. Jednak jedynym proponowanym rozwiązaniem w obu przypadkach jest restrukturyzacja DOM, tak aby lepkie elementy nie znajdowały się na przewijanym obszarze. W moim przypadku jest to trudne, a ja wolałbym tego nie robić. Czy rzeczy postępują od ios5, czy jest to nadal jedyna opcja?

+1

To wydaje się nadal być problemem w iOS 10 – joeyhoer

Odpowiedz

0

Na ostatnie pytanie - tak, problem występuje w ios5. Wyciągnięcie absolutnego elementu pozycjonującego poza przewijanym obszarem działało dobrze dla mnie.

+2

dziękuję @ user3222482, ale jak wspomniałem powyżej, to nie jest dla mnie opcja, więc nie rozwiązuje mojego problemu :( – kat