Чтобы повернуть на 45 градусов в IE, вам понадобится следующий код в таблице стилей:
filter: progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476); /* IE6,IE7 */
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"; /* IE8 */
Вы заметите, что в IE8 синтаксис отличается от IE6 / 7.Вам нужно указать обе строки кода, если вы хотите поддерживать все версии IE.
Ужасные цифры в радианах;вам нужно будет самостоятельно составить цифры, если вы хотите использовать угол, отличный от 45 градусов (в Интернете есть учебные пособия , если вы их ищете).
Также обратите вниманиечто синтаксис IE6 / 7 вызывает проблемы для других браузеров из-за неэкранированного символа двоеточия в строке фильтра, означающего, что это недопустимый CSS.В моих тестах это заставляет Firefox игнорировать весь код CSS после фильтра.Это то, что вам нужно знать, так как это может вызвать часы путаницы, если вас поймают на этом.Я решил эту проблему, поместив специфичные для IE вещи в отдельную таблицу стилей, которую не загружали другие браузеры.
Все остальные текущие браузеры (включая IE9 и IE10 - ууу!) Поддерживают стиль CSS3 transform
(хотя и не все)часто с префиксами поставщиков), поэтому вы можете использовать следующий код для достижения того же эффекта во всех других браузерах:
-moz-transform: rotate(45deg); /* FF3.5/3.6 */
-o-transform: rotate(45deg); /* Opera 10.5 */
-webkit-transform: rotate(45deg); /* Saf3.1+ */
transform: rotate(45deg); /* Newer browsers (incl IE9) */
Надеюсь, это поможет.
Редактировать
Так какэтот ответ все еще набирает голоса, и мне кажется, что мне следует обновить его информацией о библиотеке JavaScript с именем CSS наждачная бумага , которая позволяет использовать (почти) стандартный код CSS для вращений даже в старых версиях IE.
После того, как вы добавили CSS наждачную бумагу на свой сайт, вы сможете написать следующий код CSS для IE6–8:
-sand-transform: rotate(40deg);
Намного проще, чем в традиционном стиле filter
вы обычно должны использовать в IE.
Edit
Также обратите внимание на дополнительную особенность, особенно с IE9 (и только IE9), который поддерживает как стандартный transform
, так и th.Старый стиль IE -ms-filter
.Если вы оба указали это, это может привести к тому, что IE9 будет полностью запутан и будет отображаться только сплошной черный ящик там, где был бы элемент.Лучшее решение этой проблемы - избегать стиля filter
, используя упомянутый выше полифилл наждачной бумаги.