【发布时间】:2017-04-12 19:11:43
【问题描述】:
我已经阅读了很多问题和教程,但仍然无法弄清楚如何正确地使 svg 占据全屏并覆盖它(就像您使用 object-fit: cover 和在我的情况下使用 @987654325 一样@),因此没有可见的滚动条。我唯一设法得到的是一个不可滚动的全屏,其中包含可以放入其中的 svg 部分。
svg 在<object> 内,因为我需要链接才能工作。
<div class="map">
<object class="fullscreen-map" type="image/svg+xml" data="europe3.svg">
Your browser does not support SVG
</object>
</div>
默认情况下,svg 本身没有 viewBox,并且有 width=1920 和 height=1080,但我尝试包含一个尺寸相同的 viewBox,同时尝试我找到的其他东西。
Here's a link to the SVG I'm trying to get to fullscreen
到目前为止,我能想到的最好的办法就是围绕它设置 <object> 的样式,但它只会裁剪,甚至不会尝试缩放 SVG:
.fullscreen-map {
position: absolute;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
min-width: 1020px;
object-fit: cover;
object-position: 0;
font-family: 'object-fit: cover;';
z-index: -1;
}
我可以通过在 img 标记中添加 SVG 来使其工作,但是我将无法单击其中的链接。
So here is the expected result 如您所见,如果您将视口纵横比更改为不同于 16:9 的值,则指向不同位置的链接的定位实际上并不起作用。如果您有如何轻松实施的建议,我也很高兴听到他们的建议:)
谢谢你帮助我!
【问题讨论】:
-
创建一个minimal reproducible example,这样我们就可以看到你已经走了多远。
-
我希望这就够了 (:
-
font-family: 'object-fit: cover;';?? -
这适用于 Edge 和 IE,它们还不支持 object-fit,但是有一个 JQuery 插件可以处理这个问题,并且需要 font-family 属性中的信息。