Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用固定元素使SVG具有响应性?_Javascript_Html_Svg - Fatal编程技术网

Javascript 如何使用固定元素使SVG具有响应性?

Javascript 如何使用固定元素使SVG具有响应性?,javascript,html,svg,Javascript,Html,Svg,一些UI元素的大小是固定的;其他元素的大小与容器的大小有关 例如,图形的文本和图例的大小通常是固定的,但其轴的大小通常是响应的 传奇 根据我从您的问题中得到的信息,监听调整大小事件确实不会进行打印剪切。因此,您需要做的是侦听打印请求,并从中运行调整大小代码: window.addEventListener("beforeprint", beforePrint); window.addEventListener("afterprint", afterPrint); if (window.mat

一些UI元素的大小是固定的;其他元素的大小与容器的大小有关

例如,图形的文本和图例的大小通常是固定的,但其轴的大小通常是响应的


传奇

根据我从您的问题中得到的信息,监听调整大小事件确实不会进行打印剪切。因此,您需要做的是侦听打印请求,并从中运行调整大小代码:

window.addEventListener("beforeprint", beforePrint);
window.addEventListener("afterprint", afterPrint);
if (window.matchMedia) {
    var mediaQueryList = window.matchMedia('print');
    mediaQueryList.addListener(function(mql) {
        if (mql.matches) {
            beforePrint();
        } else {
            afterPrint();
        }
    });
}

function beforePrint() {
    //Resize for printing
}

function afterPrint() {
    //Resize again for after printing
}
这是从一本书中摘取的。请仔细阅读,以获得更详细的说明、限制和其他可能的解决方法


对于任何其他需要调整大小但窗口调整大小事件不够的情况,通常至少有一个半简单的解决方法。JavaScript是在图形中对项目进行排序和调整大小这样复杂的事情的唯一选项。

我不清楚,您是在HTML中内联SVG标记还是在
标记中使用它?