我已经阅读了很多问题和教程,但是仍然无法弄清楚如何使svg完整显示并覆盖整个屏幕(就像您object-fit: cover在本例中object-position: 0所做的那样),因此没有滚动条可见。我唯一能得到的是不可滚动的全屏屏幕,其中包含可以容纳的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>
Run Code Online (Sandbox Code Playgroud)
svg本身默认情况下没有viewBox并具有width=1920和height=1080,但是在尝试发现的其他内容时,我也尝试包含具有相同尺寸的viewBox。
到目前为止,我能想到的最好的方法是对其<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;
}
Run Code Online (Sandbox Code Playgroud)
我可以通过在img标签中添加SVG来使其正常工作,但随后我将无法单击其中的链接。
因此,这是预期的结果,并且如您所见,如果将视口的宽高比更改为16:9以外的值,则指向不同位置的链接的定位实际上将不起作用。如果您有如何轻松实现的建议,我也很高兴听到他们的意见:)
感谢您的帮助!