如何在具有 PNG 图像背景的响应式 svg 图像映射中控制高度
How to control height in responsive svg image map with PNG image background
我在 PNG 之上有一个 SVG 图像映射。我将图像映射包含在 DIV 中,但请注意图像映射并不关心 DIV 的高度。无论我如何设置封闭 DIV 的样式,图像映射似乎都会忽略它并溢出。这是地图。
https://asle.benoni.no/static/maptest/
如果我尝试更改 PNG 图像的宽度和高度,它就会消失。我想将这张图片放入例如100% 高度,因此它适合 DIV 容器。所以我只能控制封闭 DIV 的宽度,但不能控制高度。如何控制高度?
这是我使用的代码:
<div class="map">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1052 1314" preserveAspectRatio="none">
<image width="100%" height="100%" xlink:href="rutenr.png"></image><a xlink:href="http://ostfoldbotanikk.org/obfnet/ruter/links/PM1020.html">
<rect x="327" y="144" fill="#fff" opacity="0.2" width="58" height="58"></rect>
</a><a xlink:href="http://ostfoldbotanikk.org/obfnet/ruter/links/PM1520.html">
<rect x="384" y="143" fill="#fff" opacity="0.2" width="58" height="58"></rect>
</a><a xlink:href="http://ostfoldbotanikk.org/obfnet/ruter/links/PM3025.html">
<rect x="555" y="89" fill="#fff" opacity="0.2" width="58" height="58"></rect>
...以及之后的其他地区。
图像映射现在以当我调整 window 大小时的方式响应,无论我是否调整 window 大小时可点击区域都是正确的。但是我无法控制例如图片贴图的高度。
您可以将高度设置为视口高度的 100%。
svg {
height: 100vh;
}
<div class="map">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1052 1314" preserveAspectRatio="none">
<image width="100%" height="100%" xlink:href="https://asle.benoni.no/static/maptest/rutenr.png"></image><a xlink:href="http://ostfoldbotanikk.org/obfnet/ruter/links/PM1020.html">
<rect x="327" y="144" fill="#fff" opacity="0.2" width="58" height="58"></rect>
</a><a xlink:href="http://ostfoldbotanikk.org/obfnet/ruter/links/PM1520.html">
<rect x="384" y="143" fill="#fff" opacity="0.2" width="58" height="58"></rect>
</a><a xlink:href="http://ostfoldbotanikk.org/obfnet/ruter/links/PM3025.html">
<rect x="555" y="89" fill="#fff" opacity="0.2" width="58" height="58"></rect>
</svg>
</div>
或者对 .map
执行相同操作并将 SVG 的高度设置为 100%:
.map {
height: 100vh;
}
svg {
height: 100%;
}
我在 PNG 之上有一个 SVG 图像映射。我将图像映射包含在 DIV 中,但请注意图像映射并不关心 DIV 的高度。无论我如何设置封闭 DIV 的样式,图像映射似乎都会忽略它并溢出。这是地图。
https://asle.benoni.no/static/maptest/
如果我尝试更改 PNG 图像的宽度和高度,它就会消失。我想将这张图片放入例如100% 高度,因此它适合 DIV 容器。所以我只能控制封闭 DIV 的宽度,但不能控制高度。如何控制高度?
这是我使用的代码:
<div class="map">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1052 1314" preserveAspectRatio="none">
<image width="100%" height="100%" xlink:href="rutenr.png"></image><a xlink:href="http://ostfoldbotanikk.org/obfnet/ruter/links/PM1020.html">
<rect x="327" y="144" fill="#fff" opacity="0.2" width="58" height="58"></rect>
</a><a xlink:href="http://ostfoldbotanikk.org/obfnet/ruter/links/PM1520.html">
<rect x="384" y="143" fill="#fff" opacity="0.2" width="58" height="58"></rect>
</a><a xlink:href="http://ostfoldbotanikk.org/obfnet/ruter/links/PM3025.html">
<rect x="555" y="89" fill="#fff" opacity="0.2" width="58" height="58"></rect>
...以及之后的其他地区。
图像映射现在以当我调整 window 大小时的方式响应,无论我是否调整 window 大小时可点击区域都是正确的。但是我无法控制例如图片贴图的高度。
您可以将高度设置为视口高度的 100%。
svg {
height: 100vh;
}
<div class="map">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1052 1314" preserveAspectRatio="none">
<image width="100%" height="100%" xlink:href="https://asle.benoni.no/static/maptest/rutenr.png"></image><a xlink:href="http://ostfoldbotanikk.org/obfnet/ruter/links/PM1020.html">
<rect x="327" y="144" fill="#fff" opacity="0.2" width="58" height="58"></rect>
</a><a xlink:href="http://ostfoldbotanikk.org/obfnet/ruter/links/PM1520.html">
<rect x="384" y="143" fill="#fff" opacity="0.2" width="58" height="58"></rect>
</a><a xlink:href="http://ostfoldbotanikk.org/obfnet/ruter/links/PM3025.html">
<rect x="555" y="89" fill="#fff" opacity="0.2" width="58" height="58"></rect>
</svg>
</div>
或者对 .map
执行相同操作并将 SVG 的高度设置为 100%:
.map {
height: 100vh;
}
svg {
height: 100%;
}