6
<body style="width:1000px;height:1000px;">
<div id="d" style="display:inline-block;">
<svg id="s" xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="200px">
<rect width="200px" height="200px" style="fill:rgb(0,0,255);"/>
</svg>
</div>
</body>
var div = document.getElementById('d');
var rect = div.getBoundingClientRect();
alert(rect.width); //200
alert(rect.height); //205 (in safari), 204.5 in other browsers
var svg = document.getElementById('s');
var rect = svg.getBBox();
alert(rect.width); //200
alert(rect.height); //200
親divの幅と高さを取得しようとしています。どんな理由であれ、getBoudingClientRectは私に間違った高さの値(205または204.5)を与えています。幅は正しいですが、高さはオフです。何か案は?getBoundingClientRect、インラインSVGの高さが正しくありません
高さは正しく、高さは204.5ピクセルです。 – Stijn
これは200px – user2800679
の可能な複製[HTML5のキャンバス/ビデオ/オーディオ要素の下に4ピクセルのギャップがあります](http://stackoverflow.com/questions/8600393/there-is-a-4px-gap-below- canvas-video-audio-elements-in-html5) – Stijn