El navegador Android, desde 2.2, admite el posicionamiento fijo, al menos en ciertas circunstancias, como cuando se desactiva el escalamiento. Tengo un archivo HTML simple sin JS, pero el posicionamiento fijo en tres teléfonos Samsung que he probado es simplemente incorrecto. En lugar de un verdadero posicionamiento fijo, el encabezado se desplaza fuera de la vista y luego regresa a su lugar una vez que se realiza el desplazamiento.Habilite el posicionamiento fijo real en los navegadores Android de Samsung
Esto no sucede en el emulador de Android SDK para ninguna configuración que he probado (2.2, 2.3, 2.3 x86, 4.0.4). Tampoco ocurre cuando se utiliza WebView en una aplicación de los teléfonos Samsung: en esos casos, el posicionamiento funciona como se espera.
¿Hay alguna manera de hacer que el navegador "Samsung" de Samsung use un posicionamiento fijo real?
He probado: 1. Samsung Galaxy 551, Android 2.2 2. Samsung Galaxy S, Android 2.3 3. Samsung Galaxy S II, Android 2.3
Código de ejemplo:
<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>
El comportamiento esperado es que el encabezado gris llene la parte superior de la pantalla y permanezca fijo sin importar cuánto se desplace. En los navegadores Android de Samsung, parece desplazarse fuera de la vista y volver a colocarse en su lugar una vez que se realiza el desplazamiento, como si el posicionamiento fijo se simulara usando Javascript, que no es.
Editar A juzgar por los comentarios y las "respuestas" parece que tal vez no tenía claro lo que necesitaba. Estoy buscando una metaetiqueta o css rule/hack o javascript toggle que desactive el roto posicionamiento fijo de Samsung y active el posicionamiento fijo de trabajo del navegador Android. No estoy buscando una solución de Javascript que agregue posicionamiento fijo roto a un navegador que no tiene soporte alguno; el posicionamiento fijo de Samsung ya lo hace, se ve estúpido.
¿Tiene una referencia para "El navegador de Android, desde 2.2, compatible con posicionamiento fijo"? – deefour
@Deefour El emulador de Android en el SDK lo confirma, como mencioné en mi publicación. –
[caniuse] (http://caniuse.com/css-fixed) dice que <3.0 solo tiene soporte parcial, y el [artículo referenciado] (http://bradfrostweb.com/blog/mobile/fixed-position/) dice "Android 2.2 vuelve a colocar torpemente los elementos fijos en su posición una vez que se completa el desplazamiento". Solo buscar algo que confirme lo que ve en su SDK es el comportamiento esperado, ya que al menos parece que con el Galaxy 551 (el que tiene 2.2) está experimentando el comportamiento exacto descrito en el artículo anterior. – deefour