Safari浏览器滚动条和SVG(Safari Scrollbars & SVG)

2019-09-16 09:05发布

问题:Safari浏览器是不是在玩球,并呈现我的SVG图像带有滚动条。

改进了问题的版本:“我如何得到填补一组宽度,并有计算的高度基于Safari中的纵横比?” (感谢Phrogz)

相关的代码:

SVG文件

 viewBox="0 0 800 800"

(没有高度或宽度指定)

 .objectwrapper { max-width: 600px; min-width: 150px; margin-right: auto; margin-left: auto; } .objectdiv { max-width: 60%; margin-right: auto; margin-left: auto; display: block; } 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5" /> <meta http-equiv="expires" content="0" /> </head> <body> <div class="objectwrapper"> <div class="objectdiv"> <object type="image/svg+xml" data="question0optimize1.svg" width="100%" height="100%"> </object> </div> </div> </body> </html> 

在所有其他的浏览器我已经试过我得到一个不错的平滑缩放窗口大小的变化和Ctrl +变焦。 但Safari浏览器我提供了一个更小的SVG和滚动条。 我究竟做错了什么?

Answer 1:

您在Safari,因为得到一个滚动条:

  1. height="100%"的上object是使它一样高身体,并
  2. 因为<object>默认为display:inline你获得对象下方的附加的基线(4像素-6像素)。 100%+任何大于窗口高,并且因此一个滚动条显示。

如果你能清楚地了解你想要的最后陈述是特异性,应高度是什么你什么<object> -我可以帮你做这工作的跨浏览器。

最有可能要一)设置display:block<object>通过CSS,和/或b)除去height="100%"<object> 。 (如果你想跨浏览器的高度控制,通过设置CSS,没有表现属性的高度。)

你可以看到我的失败测试的标注的例子在
http://phrogz.net/svg/svg_via_object.html
和固定版本的
http://phrogz.net/svg/svg_via_object.xhtml

(相对于XHTML使用HTML4的是无关的问题或修正)。



Answer 2:

我有一个类似的问题在Windows Safari5下SVG。 这表明没有明显的原因滚动条。

在这里找到了我一个解决方案: https://stackoverflow.com/a/8025526/2244646 :

我曾在一个文本编辑打开SVG和圆润的SVG节点的高度属性从79.999px到80px。 不知怎的,Safari5犯规喜欢在这些领域的奇数。



Answer 3:

我不得不使用Windows上的Safari SVG同样的问题。 该SVG有垂直和水平滚动条。

不过,我打开SVG文件在文本编辑器,我有奇怪的高度和宽度属性。 我改变他们连号,它解决了这个问题。



文章来源: Safari Scrollbars & SVG
标签: safari svg