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

CSS перевод не работает в IE11 на SVG g

Я хочу переместить группу элементов svg с помощью тега G, но он не работает в IE, даже в последней версии. Он работает во всех других браузерах. Пожалуйста, помогите.

Нужно ли использовать какой-либо другой способ перемещения группы элементов в svg?

http://jsfiddle.net/ahKpq/3/

<svg viewbox="0 0 20 20">
    <g>
        <circle cx=10 cy=10 r=10 />
    </g>
</svg>

g {
    transform: translate(10px, 0px);
    -ms-transform: translate(10px, 0px);
    -sand-transform: translate(10px, 0px);
    -webkit-transform: translate(10px, 0px);
}
4b9b3361

Ответ 1

IE11 поддерживает атрибут преобразования, даже если он не распознает стиль CSS.

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

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

g.setAttribute('transform', transform);

Fiddle

Ответ 2

Если кому-то все еще нужно это с jQuery, это сработало для меня:

jQuery("g").each(function(){
        transform = jQuery(this).css('transform');
        console.log(transform);
        jQuery(this).attr('transform',transform);
    });

Ответ 4

если кому-то все еще нужно это с angularjs, это сработало для меня:

.directive('ieTransform', function ($window) {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            var elementStyleMap = $window.getComputedStyle(element[0], null);
            var transform = elementStyleMap.getPropertyValue('transform');

            element[0].setAttribute('transform', transform);
        }
    };
})

Ответ 5

Использовать атрибут преобразования

transform = "translate (10, 0)"

Работает как очарование IE.

Если вы хотите изменить его на лету, используйте JS