CSS3 преобразование: поворот; в IE9
У меня есть элемент, который должен быть вертикальным в дизайне, я сделал. У меня есть css для этого, чтобы работать во всех браузерах, кроме IE9. Я использовал фильтр для IE7 & IE8:
progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
это, однако, кажется, чтобы сделать мой элемент прозрачным в IE9 и CSS3' tranform ' porperty, кажется, ничего не делает!
кто-нибудь вообще знает о вращающихся элементах в IE9?
очень ценю помощь!
W.
4 ответа:
стандартный CSS3 rotate должен работать в IE9, но я считаю, что вам нужно дать ему префикс поставщика, например:
-ms-transform: rotate(10deg);
возможно, что он может не работать в бета-версии; если нет, попробуйте загрузить текущую версию предварительного просмотра (preview 7), которая является более поздней версией бета-версии. У меня нет бета-версии для тестирования, поэтому я не могу подтвердить, была ли она в этой версии или нет. Окончательная версия релиза определенно запланирована для его поддержки.
Я тоже могу подтвердите, что IE-specific
filter
свойство было удалено в IE9.[Edit]
Люди запросили дополнительную документацию. Как говорится, это довольно ограничено, но я нашел эту страницу:http://css3please.com/ что полезно для тестирования различных функций CSS3 во всех браузерах.но тестирование функции поворота на этой странице в IE9 preview вызвало ее довольно впечатляющий сбой.
однако я сделал некоторые независимые тесты с использованием
-ms-transform:rotate()
в IE9 на моих собственных тестовых страницах, и он работает нормально. Таким образом, мой вывод заключается в том, что функция реализована, но имеет некоторые ошибки, возможно, связанные с ее динамической настройкой.еще одна полезная точка отсчета, для которой реализованы функции в каких браузерах www.canIuse.com -смотрите http://caniuse.com/#search=rotation
[EDIT]
Возрождая этот старый ответ, потому что я недавно узнал о взломе под названием CSS Наждачная бумага какое имеет отношение к вопросу и может сделать вещи проще.Хак реализует поддержку стандартного CSS
transform
для старых версий IE. Так что теперь вы можете добавить следующее в ваш CSS:-sand-transform: rotate(10deg);
...и это работает в IE 6/7/8, без необходимости использовать
filter
синтаксис. (конечно, он по-прежнему использует синтаксис фильтра за кулисами, но это делает его намного проще в управлении, потому что он использует аналогичный синтаксис для других браузеров)
попробуй такое
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <style type="text/css"> body { margin-left: 50px; margin-top: 50px; margin-right: 50px; margin-bottom: 50px; } .rotate { font-family: Arial, Helvetica, sans-serif; font-size: 16px; -webkit-transform: rotate(-10deg); -moz-transform: rotate(-10deg); -o-transform: rotate(-10deg); -ms-transform: rotate(-10deg); -sand-transform: rotate(10deg); display: block; position: fixed; } </style> </head> <body> <div class="rotate">Alpesh</div> </body> </html>
У меня также были проблемы с преобразованиями в IE9, я использовал
-ms-transform: rotate(10deg)
и это не сработало. Пробовал все, что мог, но проблема была в режиме браузера, чтобы преобразования работали, вам нужно установить режим совместимости на "стандартный IE9".
Я знаю, что это старый, но у меня была такая же проблема, нашел этот пост, и хотя он не объяснил точно, что было не так, это помогло мне найти правильный ответ - так что, надеюсь, мой ответ поможет кому-то еще, у кого может быть аналогичная проблема с моей.
У меня был элемент, который я хотел повернуть вертикально, поэтому, естественно, я добавил фильтр: для IE8, а затем свойство-ms-transform для IE9. Я обнаружил, что свойство-ms-transform и фильтр применяются к одному и тому же элемент вызывает IE9 для визуализации элемента очень плохо. Мое решение:
Если вы используете свойство transform-origin, добавьте его и для MS (- ms-transform-origin: слева внизу;). Если вы не видите свой элемент, это может быть то, что он вращается на своей средней оси и, таким образом, каким - то образом покидает страницу-поэтому дважды проверьте это.
переместите свойство filter: для IE7&8 в отдельную таблицу стилей и используйте условие IE для вставки этой таблицы стилей для браузеры меньше, чем IE9. Таким образом, это не влияет на стили IE9, и все должно работать нормально.
убедитесь, что вы используете правильный тег DOCTYPE, а также; если у вас есть это неправильно IE9 не будет работать должным образом.