Zaskoczyłem tego cały dzień i nie mogę znaleźć rozwiązania.znikający nagłówek pozycji ustalonej w ios7 mobilnym safari
Mam prosty ul który działa jako stała nagłówka z następującym CSS:
body {
width: 100%;
height: 100%;
min-height: 100%;
}
.stream .header {
position: fixed;
width: 100%;
height: 41px;
top: 0;
right: 0;
left: 0;
z-index: 10;
margin-bottom: 10px;
list-style: none;
}
Zawartość poniżej nagłówka ma następujące css:
.stream .stream-content {
position: relative;
padding-top: 41px;
-webkit-transform: translate3d(0, 0, 0);
}
gdy strona jest przewinięty w mobilnym safari ios7, następuje:
pierwszy przewiń w dół - nagłówek przesuwa się wraz ze szczytem strony, aż do zakończenia przewijania.
Drugi przewijanie w dół - nagłówek znika całkowicie i nie pojawia się ponownie po zakończeniu przewijania.
przewiń w górę (nadal widoczny jest nagłówek) - nagłówek znika całkowicie i nie pojawia się ponownie po osiągnięciu góry strony.
przewiń w górę (z ukrytym nagłówkiem) - nagłówek pozostaje ukryty i nie pojawia się ponownie po osiągnięciu góry strony.
przewiń w górę (już na górze strony z ukrytym nagłówkiem) - nagłówek pojawia się ponownie i działa normalnie, dopóki strona nie przewinie się dwukrotnie.
Nie miałem tego problemu z mobilnym safari iOS6, więc wydaje się, że problem jest związany z nowym pasku adresu zmieniającym rozmiar podczas przewijania.
Ktoś jeszcze ma podobne problemy? Sugestie są mile widziane.
Aktualizacja:
Wygląda więc na to, że usunięcie -webkit-transform3d() na rodzica nagłówka (.stream) usuwa problem, więc musi istnieć konflikt sposób div rodzic jest renderowany i nagłówek w środku.
Nadal jednak szukam pracy.
Dzięki - doszedłem do tego samego wniosku, kiedy pracowałem nad tym. Nieco istotne, oto więcej szczegółów na temat kompromisu między pozycją abs a transformem w mobilnym safari: http://stackoverflow.com/questions/11100747/css-translation-vs-changing-absolute-positioning-values/18516653#18516653 – fscof