0

我有一个使用 Adob​​e Illustrator 生成的 .svg 文件。这些是 SVG 文件的结构:

<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     width="1068px" height="1671.49px" viewBox="0 0 1068 1671.49" enable-background="new 0 0 1068 1671.49" xml:space="preserve">
<g>
    <polygon fill="#C6C6C6" points="451.07,1979.34 451.07,1979.34 450.8,1979.17 448.72,1978.82 448.6,1978.71 448.34,1978.59 
        447.71,1978.36 448.01,1978.33 450.2,1978.3 452.53,1978.76 451.35,1979.08 451.73,1979.29     "/>
<!-- more polygon shapes -->
</g>
</svg>

然后我<embed>在我的 .html 文件中使用这样的标签包含它。HTML 文件的结构:

<!DOCTYPE html>
<html>
    <head>
        <title>My Demo</title>
        <link rel="stylesheet" href="css/style.css" />

        <script src="js/jquery-1.8.2.min.js"></script>
        <script src="js/raphael-min.js"></script>
        <script src="js/script.js"></script>

    </head>
    <body>
        <div id="shape1"></div>
        <div id="shape2"></div>        
        <div id="shape3"></div>
        <div id="embed_svg">
            <embed src="my_svg_file.svg" type="image/svg+xml" />
        </div>
    </body>    
</html>

笔记:

  • 我认为这与浏览器支持无关,因为我使用 raphael.js HTML5 库绘制了 3 个 HTML5 形状并且它们运行良好。(在 chrome 和 firefox 上试过)
  • 包含该文件不能正常工作。浏览器似乎解析它,但它似乎没有显示它。
4

1 回答 1

1

您的形状中的坐标非常相似,因此多边形覆盖了 viewBox 区域的非常非常小的一部分。

如果将<svg>元素的 viewBox 更改为 viewBox="448 1977 5 10" ,则形状将显示为可见区域现在更接近于多边形坐标,或者使多边形更大。

于 2012-10-02T10:21:44.060 回答