Ответ 1
IE8 и ниже просто не поддерживают background-size
, поэтому вам придется либо использовать AlphaImageLoader Filter, который поддерживается с IE5.5:
.arrow-big-right {
display: block;
width: 42px;
height: 48px;
margin-bottom: 1.8em;
background-image: url(arrow-big-right.png);
background-repeat: no-repeat;
background-size: 42px 48px;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader( src='arrow-big-right.png', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader( src='arrow-big-right.png', sizingMethod='scale')";
}
Или используйте какой-либо метод таргетинг версий IE через CSS, чтобы применить альтернативу вашему фону для IE8 и ниже пользователей.
Также стоит отметить, как указывает Мэтт Макдональд, что вы можете увидеть два изображения в результате использования этой техники. Это вызвано тем, что фильтр IE добавляет фоновое изображение вместо стандартного фонового изображения вместо замены стандартного фонового изображения. Чтобы решить эту проблему, укажите IE через css, используя ваш предпочтительный метод (здесь метод, мой личный фаворит) и удалите стандартный background-image
для IE8 и ниже.
Используя первый метод из Paul Irish сообщение в блоге, вы можете использовать следующее:
.arrow-big-right {
display: block;
width: 42px;
height: 48px;
margin-bottom: 1.8em;
background-image: url(arrow-big-right.png);
background-repeat: no-repeat;
background-size: 42px 48px;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader( src='arrow-big-right.png', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader( src='arrow-big-right.png', sizingMethod='scale')";
}
.ie6 .arrow-big-right,
.ie7 .arrow-big-right,
.ie8 .arrow-big-right {
background-image: none;
}