Foros del Web » Creando para Internet » CSS »

position: fixed en Internet Explorer

Estas en el tema de position: fixed en Internet Explorer en el foro de CSS en Foros del Web. Tengo una capa posicionada con el siguiente CSS: Código: div.flotant { font: bold 10px Arial, sans-serif; background: #022E65; position: fixed; left: 0; top: 70; width: ...
  #1 (permalink)  
Antiguo 08/08/2003, 03:05
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
position: fixed en Internet Explorer

Tengo una capa posicionada con el siguiente CSS:

Código:
div.flotant {
	font: bold 10px Arial, sans-serif;
	background: #022E65;
	position: fixed;
	left: 0;
	top: 70;
	width: 134;
	height: 69;
	text-align: right;
	padding: 5px;
	z-index:1;
}
La idea es que se mantenga fija en una posicion de la pantalla y que cuando el usuario haga scroll, la capa se quede quieta mientras el resto de la web sube o baja.

Este CSS funciona perfectamente en Mozilla, Firebird, Netscape 6+, Opera 7 y Konqueror. Desgraciadamente Internet Explorer no soporta position:fixed, por lo que debo buscar una alternativa.

¿A alguien se le ocurre como solucionar este problema?
__________________
M a l d i t o F r i k i
  #2 (permalink)  
Antiguo 08/08/2003, 06:42
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
Si te vale una solución en javascript puedes usar esto

function escrol()
{document.getElementById('menu').style.top = document.body.scrollTop}
window.onscroll = escrol
  #3 (permalink)  
Antiguo 08/08/2003, 06:48
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
veo que la posición desde arriba no es 0, entonces necesitas esto

function escrol()
{document.getElementById('menu').style.top = document.body.scrollTop + 70}
window.onscroll = escrol

Oye cain, he probado el css que propones en netscape 7 y no se queda fija la capa

en cambio para mi sorpresa, ns reconoce el código que te he sugerido, y eso que teóricamente el evento onscroll es sólo para explorer
  #4 (permalink)  
Antiguo 08/08/2003, 07:05
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Lo probaré, aunque tendré que hacer lo típico de las dos versiones: getElementById + document.all

Gracias

Por cierto, en NS 7.1 la capa queda de muerte y fija. En NS 6, también. En NS 7 pelao no lo he podido probar.
__________________
M a l d i t o F r i k i
  #5 (permalink)  
Antiguo 08/08/2003, 07:10
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
cuidado con lo de usar el document.all para distinguir explorer que pronto dejará de existir el all. Lo mismo que el ns actual no reconoce el document.layers.

Te sugiero uses el navigator.appName

oye pues en serio que con el ns 7.0 se me va parriba la capa cuando le doy al scroll. ¿Es posible que sólo le pase a la 7.0?

oye, cuando se pueda ver onlain pasame la url y lo testeo con el 7.0, a ver si es que hice algo mal yo
  #6 (permalink)  
Antiguo 08/08/2003, 07:25
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
OK. Así lo haré.

Lo de document.all nunca debió haber existido, fue otra de las "genialidades" de Microsoft. De todos modos, las funciones Javascript son booleanas, por lo que hacer un if (document.all) { algo } no da error en los navegadores que no lo soportan.
__________________
M a l d i t o F r i k i
  #7 (permalink)  
Antiguo 08/08/2003, 07:29
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
efectivamente no da error (por suerte) pero a lo que me refiero es a que quizás explorer 7.0 (cuando salga) devuelva false ante document.all (al igual que hoy devuelve false ns ante document.layers)

Es decir, que dentro de un tiempo no tengas que cambiar los condicionales de todos tus scripts para averiguar qué navegador es dado que los que hoy devuelven true, el día de mañana devolverán false

De hecho el explorer actual yá no usa all, pero sigue soportándolo por compatibilidad. Pero el día menos pensado deja rá de soportarlo
  #8 (permalink)  
Antiguo 08/08/2003, 07:33
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Ya, eso del document.all lo hago por el IE 5.5.

Espero y deseo que Microsoft no saque ninguna nueva versión de su navegador. Que nos deje tranquilos de una vez y podamos diseñar webs sin tener que preocuparnos de si esto lo soporta o no.

Ahora que todo apunta a la muerte de HTML 4.01 en beneficio de XHTML 1.0, no podemos estar pendientes de las pijaditas de cada navegador. Debemos exigir navegadores que soporten los estándares de la w3c.
__________________
M a l d i t o F r i k i
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:20.