Есть ли какой-нибудь известный способ сделать стиль CSS background-size
работать в IE?
Как создать фоновый размер в IE?
Ответ 1
Немного поздно, но это также может быть полезно. Для IE 5.5+ есть фильтр IE, который вы можете применить:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='images/logo.gif',
sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='images/logo.gif',
sizingMethod='scale')";
Однако это масштабирует изображение целиком в выделенной области, поэтому, если вы используете спрайт, это может вызвать проблемы.
Спецификация: AlphaImageLoader Filter @microsoft
Ответ 2
Я создал jquery.backgroundSize.js: плагин jQuery 1.5K, который можно использовать в качестве резервной копии IE8 для значений "обложка" и "содержать", Посмотрите demo.
Ответ 3
Благодаря этому сообщению, мой полный css для кросс-браузерного счастья:
<style>
.backgroundpic {
background-image: url('img/home.jpg');
background-size: cover;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='img/home.jpg',
sizingMethod='scale');
}
</style>
Это было так давно, что я работал над этой частью кода, но я хотел бы добавить для большей совместимости с браузером. Я добавил это в свой CSS для большей совместимости с браузером:
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
Ответ 4
Еще позже, но это тоже может быть полезно. Существует jQuery-backstretch-плагин, который вы можете использовать как обложку polyfill для фона. Я предполагаю, что должно быть возможно (и довольно просто) захватить свойство css-background-url с помощью jQuery и передать его в плагин jQuery-backstretch. Хорошей практикой было бы тестирование поддержки размера фона с помощью modernizr и использование этого плагина в качестве резервной копии.
Backstretch-plugin был указан на SO здесь. JQuery-backstretch-плагин-сайт .
Аналогичным образом вы можете создать jQuery-плагин или script, что делает работу фона в вашей ситуации (размер фона: 100%) и в IE8-. Поэтому, чтобы ответить на ваш вопрос: Да, есть способ, но atm нет никакого подключаемого программного обеспечения (т.е. Вы сами должны сами кодировать).
(отказ от ответственности: я не рассматривал backstretch-plugin полностью, но, похоже, делает то же самое, что и размер фона: обложка)
Ответ 5
Для этого есть хороший polyfill: louisremi/background-size-polyfill
Чтобы процитировать документацию:
Загрузите backgroundsize.min.htc на свой сайт вместе с .htaccess, который отправит тип mime, требуемый IE (только Apache - он построен в nginx, node и IIS).
Всюду, где вы используете фоновый размер в своем CSS, добавьте ссылку на этот файл.
.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); }
Ответ 6
В IE11 Windows 7 это сработало для меня,
background-size: 100% 100%;
Ответ 7
вы можете использовать этот файл (https://github.com/louisremi/background-size-polyfill "background-size polyfill" ) для IE8, который действительно прост в использовании:
.selector {
background-size: cover;
-ms-behavior: url(/backgroundsize.min.htc);
}
Ответ 8
Я пробовал со следующим 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;
}
Это сработало для меня!
Ответ 9
Я думаю, что лучший способ - добавить следующую строку в верхнюю часть вашего HTML файла. он отлично работает для меня!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">