Браузер Android, начиная с версии 2.2, поддерживает фиксированное позиционирование, по крайней мере, при определенных обстоятельствах, например, когда масштабирование отключено. У меня есть простой файл HTML без JS, но фиксированное позиционирование на трех телефонах Samsung, которые я пробовал, просто неправильное. Вместо настоящего фиксированного позиционирования заголовок прокручивается из поля зрения, а затем возвращается на место после завершения прокрутки.
Этого не происходит в эмуляторе Android SDK ни для одной протестированной мной конфигурации (2.2, 2.3, 2.3 x86, 4.0.4 ). Это также не происходит при использовании WebView в приложении на телефонах Samsung :, в этих случаях позиционирование работает должным образом.
Есть ли способ заставить стандартный браузер Samsung Android использовать реальное фиксированное позиционирование?
Я тестировал :1. Самсунг Галакси 551, Андроид 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, что на самом деле не так.
Изменить Судя по комментариям и «ответам», кажется, что, возможно, я не совсем понял, что мне нужно. Я ищу метатег или правило/хак css или переключатель javascript, который отключает неработающее фиксированное позиционирование -Samsung и включает рабочее фиксированное позиционирование -браузера Android. Я не ищу решение Javascript, которое добавляет сломанное фиксированное позиционирование -в браузер, который вообще не поддерживает; фиксированное позиционирование Samsung -уже делает это,это просто выглядит глупо.