Estoy tratando de tener diferentes comportamientos de navegador dependiendo de la altura de la ventana. Lo que quiero es si el usuario está en una netbook, mi script simplemente activará css overflow-y a 'auto', por lo que si el contenido es más grande que el usuario de la pantalla puede ver todo. si el usuario está en una pantalla grande, quiero tener el desbordamiento oculto y simplemente tener mi div principal con overflow = 'auto', por lo que el pie de página puede estar en la parte inferior de la pantalla, pero el contenido también puede verse si es más grande que la pantalla.
publicar el código básico para esto, funciona en pantallas gigantes en Mac, pero en Internet Explorer no es así, ya sea en las pantallas grandes o pequeños ...
qué hacer?
Gracias por la ayuda de antemano
CSS
html, body {
min-width: 600px;
margin: 0;
padding: 0;
overflow: hidden;
}
#header {
position:relative; /* IE7 overflow bug */
clear:both;
float:left;
width:100%;
height: 200px;
overflow: hidden;
}
#main {
position:relative; /* IE7 overflow bug */
clear:both;
float:left;
width:100%;
overflow-x: hidden;
}
#footer {
position:relative; /* IE7 overflow bug */
clear:both;
float:left;
width:100%;
height: 100px;
overflow: hidden;
}
jQuery
if(typeof(window.innerWidth) == 'number') {
// No-IE
var screen_height = window.innerHeight;
} else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
//IE 6 +
var screen_height = document.documentElement.clientHeight;
} else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
//IE 4
var screen_height = document.body.clientHeight;
}
var header_height = $('#header').height();
var footer_height = $('#footer').height();
var main_height = screen_height - header_height - footer_height;
//
if (navigator.userAgent.toLowerCase().search("iphone") > -1 || navigator.userAgent.toLowerCase().search("ipod") > -1) {
$('body').css('overflow-y', 'auto');
} else {
if(screen_height > 550) {
$('#main').css('height', main_height + 'px');
$('#main').css('overflow-y', 'auto');
} else {
$('html, body').css('overflow-y', 'auto');
}
}
¿Qué ocurre exactamente o no en IE ? –
Hola, en el desbordamiento de IE siempre está oculto, por lo que no puedo ver todo el contenido. Prueba en IE 7, 8 y 9. Gracias. – Pluda
¿Pasa algo si te deshaces de lo importante? – Vervious