¿Cómo hago que el tamaño del fondo funcione en IE?
¿Hay alguna forma conocida de hacer que el estilo CSS background-size
funcione en IE?
9 answers
Un poco tarde, pero esto también podría ser útil. Hay un filtro IE, para IE 5.5+, que puede aplicar:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='images/logo.gif',
sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='images/logo.gif',
sizingMethod='scale')";
Sin embargo, esto escala toda la imagen para que quepa en el área asignada, por lo que si está utilizando un sprite, esto puede causar problemas.
Especificación: Filtro Alfaimageloader @ microsoft
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-27 19:22:11
He creado jquery.Tamaño de fondo.js: un plugin de jquery de 1.5 K que se puede usar como un respaldo de IE8 para los valores "cover" y "contain". Echa un vistazo a la demo .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-13 19:22:06
Gracias a este post, mi css completo para cross browser happiness es:
<style>
.backgroundpic {
background-image: url('img/home.jpg');
background-size: cover;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='img/home.jpg',
sizingMethod='scale');
}
</style>
Ha pasado tanto tiempo desde que he trabajado en esta pieza de código, pero me gustaría agregar para más compatibilidad del navegador He añadido esto a mi CSS para más compatibilidad del navegador:
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-21 15:32:24
Incluso más tarde, pero esto también podría ser útil. Existe el plugin jQuery-backstretch que puedes usar como polyfill para background-size: cover. Supongo que debe ser posible (y bastante simple) tomar la propiedad css-background-url con jQuery y alimentarla al plugin jQuery-backstretch. Una buena práctica sería probar el soporte de tamaño de fondo con modernizr y usar este plugin como alternativa.
El complemento backstretch fue mencionado en SO aquí.El jQuery-backstretch-plugin-site is here.
De manera similar, podría hacer un plugin o script de jQuery que haga que el tamaño del fondo funcione en su situación (tamaño del fondo: 100%) y en IE8 -. Así que para responder a su pregunta: Sí, hay una manera, pero atm no hay solución plug-and-play (es decir, usted tiene que hacer un poco de codificación usted mismo).
(descargo de responsabilidad: No examiné el backstretch-plugin a fondo, pero parece hacer lo mismo que background-size: cover)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:46:57
Hay un buen polyfill para eso: louisremi/background-size-polyfill
Para citar la documentación:
Carga backgroundsize.min.htc a su sitio web, junto con el .htaccess que enviará el tipo mime requerido por IE (solo Apache - está construido en nginx, nodo e IIS).
Donde quiera que use background-size en su CSS, agregue una referencia a este archivo.
.selector { background-size: cover; /* The url is relative to the document, not to the css file! */ /* Prefer absolute urls to avoid confusion. */ -ms-behavior: url(/backgroundsize.min.htc); }
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-20 20:59:58
En IE11 Windows 7 esto funcionó para mí,
background-size: 100% 100%;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-20 13:21:59
Puede usar este archivo ( https://github.com/louisremi/background-size-polyfill "background-size polyfill") para IE8 que es realmente simple de usar:
.selector {
background-size: cover;
-ms-behavior: url(/backgroundsize.min.htc);
}
Lo intenté con el siguiente script -
.selector {
background-image: url("img/image.jpg");
background-size: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-repeat: no-repeat;
}
¡Funcionó para mí!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-04 13:55:57
Creo que la mejor manera es agregar la siguiente línea en la parte superior de su archivo HTML. ¡funciona bien para mí!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-08 21:43:43