Браузер Android, начиная с версии 2.2, поддерживает фиксированное позиционирование, по крайней мере, при определенных обстоятельствах, например, когда масштабирование отключено. У меня есть простой HTML файл без JS, но фиксированное позиционирование на трех телефонах Samsung, которые я пробовал, просто неверно. Вместо истинного фиксированного позиционирования, заголовок прокручивается вне поля зрения, а затем снова встает на место после прокрутки.
Это не происходит в эмуляторе Android SDK для любой конфигурации, которую я тестировал (2.2, 2.3, 2.3 x86, 4.0.4). Это также не происходит при использовании WebView в приложении на телефонах Samsung: в таких случаях позиционирование работает, как ожидалось.
Есть ли способ заставить браузер Android Android "использовать" реальное фиксированное позиционирование?
Я тестировал: 1. Samsung Galaxy 551, Android 2.2 2. Samsung Galaxy S, Android 2.3 3. Samsung Galaxy S II, Android 2.3
Пример кода:
<html>
<head>
<meta name="viewport" content="initial-scale=1.0,maximum-scale=1.0,user-scalable=no,width=device-width,height=device-height">
<style>
h1 { position: fixed; top: 0; left: 0; height: 32px; background-color: #CDCDCD; color: black; font-size: 32px; line-height: 32px; padding: 2px; width: 100%; margin: 0;}
p { margin-top: 36px; }
</style>
</head>
<body>
<h1>Header</h1>
<p>Long text goes here</p>
</body>
</html>
Ожидаемое поведение заключается в том, что серый заголовок заполняет верхнюю часть экрана и остается вне зависимости от того, сколько вы прокручиваете. В браузерах Samsung Android, похоже, прокручивается вне поля зрения, а затем всплывает на место после прокрутки, как если бы фиксированное позиционирование моделируется с помощью Javascript, а это не так.
Edit Судя по комментариям и "ответам", кажется, что я не совсем понял, что мне нужно. Я ищу метатег или css rule/hack или javascript toggle, который отключает фиксированное позиционирование Samsung и включает браузер Android, работающий с фиксированной позицией. Я не ищу решение Javascript, которое добавляет разбитое фиксированное позиционирование в браузер, который не имеет никакой поддержки; фиксированное позиционирование Samsung делает это уже, это выглядит просто глупо.