我将以下SVG用作背景图像,并在CSS文件中定义了宽度和高度。
它在Safari(台式机和移动设备),Brave(台式机和移动设备),Firefox(台式机和移动设备)和Chrome的台式机浏览器中完美显示。由于某种原因,该图片根本不会显示在Chrome移动浏览器中。
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<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"
viewBox="0 0 1650 145" style="enable-background:new 0 0 1650 145;" xml:space="preserve">
<style type="text/css">
.st0{fill:#F7F7F7;}
</style>
<path class="st0" d="M-5.2,0l0,2.9c0.5,0.7,0.8,1.6,0.8,2.8c0,0.3,0,0.6,0,1c0.1,0.4,0.1,0.8,0,1.3c0,0.1,0,0.2,0,0.3
c-0.1,3.4-0.2,6.8-0.5,10.1l2,122.9c0.1,0.8,0.2,1.5,0.3,2.3c0.6-1.8,2.1-3.2,4.5-3.2c3.9,0,5.4,3.6,4.6,6.5l836.1-2.6l4.4-33.5
L-5.2,0z"/>
<path class="st0" d="M1648.9,8.3c-0.3-1.2-0.5-2.4-0.8-3.5c-0.2-0.9-0.2-1.7,0-2.4c-0.2-1.6,0.3-2.9,1.1-3.9l-852,115l4.2,31.5
c0,0,0.1,0,0.1,0c1.8,0,3.1,0.8,3.9,1.9l843.2-2l2.2-97.4C1650.9,34.3,1650.6,21.2,1648.9,8.3z"/>
<path class="st0" d="M803.1,157.5C802,154,802,151,802,147C802,151,802,154,803.1,157.5"/>
</svg>
答案 0 :(得分:0)
经过进一步的故障排除后,我发现我的SVG在Chrome的iOS移动浏览器上也能很好地显示,但在Android的Chrome移动浏览器上却没有。
事实证明,如果我将父元素的高度设置为“ vh”而不是“ px”,那么Android的Chrome移动浏览器将不会显示SVG。
为了详细说明,我将父元素的高度设置为40vh(子元素中引用的SVG作为背景图片),而Android的Chrome移动版不会显示SVG。将父元素的高度更改为350px后,适用于Android的Chrome移动浏览器就显示了子元素中引用的SVG。
总而言之-Chrome的移动浏览器(特别是Android版)不喜欢这样:
.parent {
height: 40vh;
}
.child {
background-image: url(images/example.svg);
}
但是,它确实是这样的:
.parent {
height: 350px;
}
.child {
background-image: url(images/example.svg);
}