Me preguntaba si hay alguien que tenga una idea de cómo hacer frente con el siguiente problema en Internet Explorer 7:IE7 relativa/error de posicionamiento absoluto con el contenido de la página dinámicamente modificado
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>IE7 absolute positioning bug</title>
<style type="text/css">
#panel { position: relative; border: solid 1px black; }
#spacer { height: 100px; }
#footer { position: absolute; bottom: 0px; }
</style>
<script type="text/javascript">
function toggle() {
var spacer = document.getElementById("spacer");
var style = "block";
if (spacer.style.display == "block" || spacer.style.display == "") {
style = "none";
}
spacer.style.display = style;
}
</script>
</head>
<body>
<div id="panel">
<button onclick="toggle();">Click me</button>
<br /><br /><br />
<div id="spacer"></div>
<div id="footer">This is some footer</div>
</div>
</body>
</html>
Cuando se ejecuta esta en IE7 verá que el elemento "pie de página" permanece después de modificar el CSS para "panel". El mismo ejemplo probado en IE8, FF y Chrome se comporta exactamente como se esperaba.
Ya intenté actualizar la clase del elemento pero esto no funciona si la ventana del navegador se ha abierto al máximo y no se han realizado más cambios de tamaño en la ventana (que es aproximadamente el 90% de los casos de uso que tenemos para nuestro product .... :() Estoy atascado con una solución basada en CSS, sin embargo, creo que puedo hacer una excepción en este caso si se puede hacer fácilmente IE7-specific (lo que significa que otros navegadores se comportarán en una forma estándar con esto).
por favor ayuda!
¿Ha intentado cambiar doctypes a HTML o XHTML estricto estricto? ¿Qué pasa entonces? – NotMe
De hecho, no.El problema es que no tengo control sobre qué doctype se envía al cliente (por razones que no puedo analizar aquí), así que no sería la solución, incluso si hubiera funcionado ... –
2 años después y esto la pregunta (y la respuesta) siguen siendo increíblemente útiles. He estado rompiendo mi cabeza contra esto por un tiempo. Ni siquiera pude entender cómo redactar la pregunta correctamente ... ¡Gracias! –