Нет, IE8 и более ранние версии не поддерживают стандартный стиль transform
.Хотя IE9 поддерживает его.
Существуют решения, которые можно попробовать использовать в стиле filter
, но они будут грязными.
Но для простого случая, который вы описываете в вопросе(в основном простое уменьшение), вы можете использовать проприетарное свойство IE zoom
.
Поскольку оно нестандартное, наиболее распространенное использование zoom
- это zoom:1
, который используется дляисправлено несколько ошибок в макете IE (особенно в IE6 и IE7).Но он также выполняет реальное масштабирование, и вы можете использовать zoom:0.5
для достижения эффекта, который вы ищете.
Преимущество использования zoom
в том, что он работает в IE, как и любой другойдругое обычное свойство CSS (альтернатива filter
имеет некоторые серьезные особенности рендеринга, о которых вам нужно знать).
Единственный недостаток использования zoom
заключается в том, что вам нужно отключить его в IE9.или позже, иначе это будет взаимодействовать с вашим стилем transform
и иметь некоторые нежелательные эффекты.Я не из тех, кто обычно поддерживает использование хаков CSS, но вы можете использовать хак /9
(, задокументированный здесь ), чтобы он влиял только на IE8 и более ранние версии, то есть вы можете указать оба transform
и zoom
в той же таблице стилей, например, так:
div {
transform: scale(0.5,0.5);
zoom: 0.5\9;
}
В противном случае вам нужно будет использовать условные комментарии, чтобы определить, следует ли использовать его.
Очевидно, что если вы хотитесделайте что-нибудь более сложное, чем простая пропорциональная шкала, тогда zoom
не подойдет, но для простого случая, подобного тому, который задан в вашем вопросе, он будет идеальным.