Подтвердить что ты не робот

CSS-преобразование в SVG-элементах IE9 +

Наличие пути SVG:

<path class='st8' d='M73.4,11.3c-6.3,0-6.4,3.6-6.4,3.6v18c0,0,0.6,3.3,6.4,3.3c5.8,0,6.6-3.3,6.6-3.3v-18 C80,14.9,79.7,11.3,73.4,11.3z M75,31.3c0,0-0.3,1.2-1.6,1.2c-1.3,0-1.4-1.2-1.4-1.2V16.6c0,0,0.3-1.3,1.5-1.3s1.5,1.3,1.5,1.3V31.3 z'/>

Я попытался преобразовать его из CSS вместо объявления атрибута transform из тега элемента.

Этот процесс отлично работает с webkit и firefox, однако при тестировании на IE9 или 10 ничего не происходит.

<svg>
    <style>
        .st8 {
            -webkit-transform: rotate(45deg); /* works on chrome and Safari */
            -moz-transform: rotate(45deg); /* works on firefox */
            -ms-transform: rotate(45deg); /* doesn't work on IE */
            transform: rotate(45deg);
        }
    <style>
    <path class='st8' d='M73.4,11.3c-6.3,0-6.4,3.6-6.4,3.6v18c0,0,0.6,3.3,6.4,3.3c5.8,0,6.6-3.3,6.6-3.3v-18 C80,14.9,79.7,11.3,73.4,11.3z M75,31.3c0,0-0.3,1.2-1.6,1.2c-1.3,0-1.4-1.2-1.4-1.2V16.6c0,0,0.3-1.3,1.5-1.3s1.5,1.3,1.5,1.3V31.3 z'/>
</svg>

Я попытался выполнить поиск в Интернете в любом месте, отметив, что css-преобразование действительно не работает на IE, однако я не смог его найти. Отсюда мой вопрос: действительно ли невозможно использовать css-преобразование в IE? Есть ли какое-либо обходное решение помимо необходимости строго использовать атрибут transform в теге элемента?

4b9b3361

Ответ 1

IE11 поддерживает атрибут преобразования в SVG, хотя он не распознает стиль CSS. См. https://connect.microsoft.com/IE/feedback/details/811744/ie11-bug-with-implementation-of-css-transforms-in-svg.

К счастью, вы можете просто установить атрибут в соответствии со стилем с помощью JavaScript:

var g= document.querySelector('.st8'),
    transform= getComputedStyle(g).getPropertyValue('transform');

g.setAttribute('transform', transform);

Рабочий скрипт

Ответ 2

Хотя IE9 + поддерживает преобразования CSS3, они не поддерживают их в SVG и, насколько мне известно, это невозможно сделать в CSS.

Источник: caniuse по известным проблемам для CSS3 Transforms http://caniuse.com/#feat=transforms2d