Я применил свойство zoom в моей диаграмме jsplumb, и для этого, когда я использую CSS-свойство 'zoom', оно работает нормально, но когда я применяю масштабирование со свойством transform, контейнер полностью преобразуется, а не только узлы внутри него.Вот функция, которую я использовал для преобразования: -
window.setZoom = function(zoom, instance, transformOrigin, el) {
transformOrigin = transformOrigin || [ 0.5, 0.5 ];
instance = instance || jsPlumb;
el = el || instance.getContainer();
var p = [ "webkit", "moz", "ms", "o" ],
s = "scale(" + zoom + ")",
oString = (transformOrigin[0] * 100) + "% " + (transformOrigin[1] * 100) + "%";
for (var i = 0; i < p.length; i++) {
el.style[p[i] + "Transform"] = s;
el.style[p[i] + "TransformOrigin"] = oString;
}
el.style["transform"] = s;
el.style["transformOrigin"] = oString;
instance.setZoom(zoom);
};
и она вызывается: -
this.setZoom(this.zoomLevel,this.jsPlumbContainer,undefined,undefined);
что я делаю неправильно?это мой контейнер div CSS:
#canvas {
position: relative;
min-height: 100%;
align-items: center;
display: flex;
justify-content: center;
overflow: auto;
}