Internet explorer 使用D3时,IE11不接受SVG高度和宽度
我使用以下方法来设置响应SVGInternet explorer 使用D3时,IE11不接受SVG高度和宽度,internet-explorer,firefox,svg,d3.js,Internet Explorer,Firefox,Svg,D3.js,我使用以下方法来设置响应SVG outerHeight = 400; outerWidth = 600; var margin = {top: 20, right: 20, bottom: 30, left: 40}, width = outerWidth - margin.left - margin.right, height = outerHeight - margin.top - margin.bottom;
outerHeight = 400;
outerWidth = 600;
var margin = {top: 20, right: 20, bottom: 30, left: 40},
width = outerWidth - margin.left - margin.right,
height = outerHeight - margin.top - margin.bottom;
var svg = d3.select("div#simulation-1")
.append("svg")
.attr("preserveAspectRatio", "xMinYMin meet")
.attr("viewBox", "0 0 "+outerWidth+" "+outerHeight)
.attr("class","svg");
这在Chrome中非常有效。然而,在IE11和Firefox中,整个图表是按比例缩小的(轴和字体都很小),viewBox的值是
viewbox="0 0 1936 1056"
由于某些原因,它不接受指定的高度和高度。然而,它仍然是负责任的
包括小提琴:
有什么想法吗?
当做
JeanIE有一个缺陷,如果不同时提供宽度和高度,它无法正确缩放SVG 要解决该问题,可以使用
我不是d3用户,因此我无法帮助您解决小标签问题。我通过以下方式在IE中实现了它:
<svg id="yourid" width="100%" height="100%" viewBox="750 0 2500 2500">
不提供有时未知的宽度和高度,我们可以使用视口百分比作为:
style='width:100vw; height:100vh;'
试试这个。对我来说,它修复了IE和Chrome:
<svg version="1.1" width="1936px" height="1056px" viewBox="0 0 1936 1056" >
你能准备一把(小)小提琴来显示效果吗?给你,我可以看到问题,但我自己无法解决。然而,该公司提出的解决方案似乎奏效了。在可见的示例中,问题似乎是对外径、外径和轴的宽度和高度使用了globals。似乎Chrome对待globals的方式与其他浏览器不同,可能是因为某些名称空间问题
<svg version="1.1" width="1936px" height="1056px" viewBox="0 0 1936 1056" >