1

このコードはPHPスクリプトにあり、Apacheから提供されています。

<?php
header('Content-type: application/xhtml+xml');
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SVG in text/html</title>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
   <g width="100%" height="100%" transform="matrix(1, 0, 0,1,683,285)" buffered-rendering="dynamic">
   <line y2="208" x2="85" y1="10" x1="24" stroke="#999"></line></g></svg>

</body>
</html>

スクリプトは Chrome で正常に動作します (画面上に直線を描画します)。ただし、Firefox (18.0.2) ではまったく表示されないようです。真っ白な画面しか見えません。

私はこれを理解しようと頭を悩ませてきましたが、私の人生では、なぜこれが起こるべきなのか理解できません. 何か案は?このトピックに関するすべてのstackexchangeの投稿を精査しましたが、私の場合はどれも役に立ちませんでした

編集:言及するのを忘れました:「transform = ...」属性を削除するとすぐに正常に機能しますが、計画していることにはそれが必要です。

4

1 に答える 1

2

幅や高さが指定されていないため、SVG は 300 x 150 ピクセルであり (Chrome ではこれが間違っています)、html と本文も拡張されません。これはあなたが望むもののように思えます。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" style="width: 100%; height: 100%">
<head>
<title>SVG in text/html</title>
</head>
<body style="width: 100%; height: 100%">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="100%">
   <g width="100%" height="100%" transform="matrix(1, 0, 0,1,683,285)" buffered-rendering="dynamic">
   <line y2="208" x2="85" y1="10" x1="24" stroke="#999"></line></g></svg>

</body>
</html>
于 2013-02-08T09:56:35.763 に答える