К сожалению, вам, вероятно, лучше всего использовать absolute
позиционирование для ваших fixed
элементов при работе с IOS. Да, IOS5 утверждает, что поддерживает позиционирование fixed
, но все это рушится, когда у вас есть интерактивные элементы управления внутри этого фиксированного элемента.
У меня была такая же проблема с окном поиска на моем сайте switchitoff.net. В IOS5 фиксированный заголовок прыгал вниз по странице, если поле поиска получало фокус во время прокрутки страницы. Я пробовал различные обходные пути, и в настоящее время у меня есть <div>
, который находится над окном поиска. При нажатии на этот <div>
происходит следующее:
- Страница прокручивается вверх
- Заголовок
fixed
изменен на absolute
<div>
, закрывающий поле поиска, скрыт
- Поиск
<input>
сосредоточен
Описанные выше шаги отменяются, когда поле поиска теряет фокус. Это решение предотвращает переход заголовка вниз по странице при нажатии на поле поиска, но для более простого сайта вам, вероятно, лучше использовать абсолютное позиционирование в первую очередь.
Есть еще одна сложная проблема с IOS5 и фиксированным позиционированием. Если у вас есть интерактивные элементы в области fixed
, а за ними прокручиваются body
элементы, это может нарушить ваши сенсорные события.
Например, на switchitoff.net кнопки в фиксированном заголовке становились недоступными для нажатия, когда за ними прокручивались интерактивные элементы. touchstart
даже не срабатывал, когда нажимались эти кнопки. К счастью, onClick
все еще работает, хотя это всегда крайняя мера для IOS из-за задержки.
Наконец, обратите внимание, как (в IOS5) вы можете щелкнуть фиксированный заголовок и прокрутить страницу. Я знаю, что это эмулирует то, как вы можете использовать колесо прокрутки над фиксированным заголовком в обычном браузере, но, конечно же, эта парадигма не имеет смысла для сенсорного интерфейса?
Надеюсь, Apple продолжит совершенствовать обработку фиксированных элементов, но пока что проще придерживаться absolute
позиционирования, если у вас есть что-то интерактивное в фиксированной области. Это или вернуться к IOS4, когда все было намного проще!
person
JohnW
schedule
01.12.2011
html
,body
иfixed
? - person ScottS   schedule 09.11.2011