gpt4 book ai didi

html - SVG 图像未显示在 Webkit 浏览器中

转载 作者:搜寻专家 更新时间:2023-10-31 23:07:59 24 4
gpt4 key购买 nike

我一直在编写一个主要针对 iPhone 的移动网站。我为图像使用 SVG,但出于某种原因,只有少数图像显示。

如果您查看下面的屏幕截图,您会发现缺少图标:

enter image description here

如果你看https://mobile.hollatme.com/您可以看到正在运行的错误。您会注意到 Logo 没有出现在顶部。但是,如果您直接导航到位于 https://mobile.hollatme.com/css/svg/logo.svg 的 Logo 文件然后返回到它将出现的页面。

HTML :

<div class="profileItems">
<a class="notificationsProfileItem" href="javascript:{}" data-loc="notifications">Notifications <span></span></a>
<a class="neighborhoodsProfileItem" href="javascript:{}" data-loc="strolling">Strolling <span></span></a>
<a class="streamProfileItem" href="javascript:{}" data-loc="stream">Stream <span></span></a>
<a class="interestsProfileItem" href="javascript:{}" data-loc="interest-trends">Interest Trends <span></span></a>
<a class="photosProfileItem" href="javascript:{}" data-loc="photos">Photos <span></span></a>
<a class="shuffleProfileItem" href="javascript:{}" data-loc="shuffle">Shuffle Feeds <span></span></a>
<a class="messagesProfileItem" href="javascript:{}" data-loc="messages">Messages <span></span></a>
<a class="neighborsProfileItem" href="javascript:{}" data-loc="neighbors">Neighbors <span></span></a>
<a class="friendsProfileItem" href="javascript:{}" data-loc="friends">Friends <span></span></a>
<a class="settingsProfileItem" href="javascript:{}" data-loc="settings">Settings <span></span></a>
</div><!-- End profile items -->

CSS:

.profileItems {}

.profileItems a {
display:block;
background-color:#F2F2F2;
margin:0 0 0.1em 0;
padding:1.5em 1em 1.5em 2.8em;
color:#595959;
font-weight:bold;
font-size:0.8em;
opacity:0;
}

.profileItems a span {
display:block;
background:url(svg/goArrow.svg) no-repeat;
background-size:1em;
float:right;
height:1.5em;
width:1em;
margin:-0.1em 0 0 0;
}

.shuffleProfileItem {
background-image:url(svg/feeds.svg);
background-repeat:no-repeat;
background-size:1.8em;
background-position:0.5em;
}

.notificationsProfileItem {
background-image:url(svg/holla.svg);
background-repeat:no-repeat;
background-size:1.8em;
background-position:0.5em;
}

.neighborhoodsProfileItem {
background-image:url(svg/neighborhoods.svg);
background-repeat:no-repeat;
background-size:1.8em;
background-position:0.5em;
}

.interestsProfileItem {
background-image:url(svg/interests.svg);
background-repeat:no-repeat;
background-size:1.8em;
background-position:0.5em;
}

.messagesProfileItem {
background-image:url(svg/message.svg);
background-repeat:no-repeat;
background-size:1.8em;
background-position:0.5em;
}

.photosProfileItem {
background-image:url(svg/photo.svg);
background-repeat:no-repeat;
background-size:1.8em;
background-position:0.5em;
}

.neighborsProfileItem {
background-image:url(svg/neighbors.svg);
background-repeat:no-repeat;
background-size:1.8em;
background-position:0.5em;
}

.friendsProfileItem {
background-image:url(svg/friends.svg);
background-repeat:no-repeat!important;
background-size:1.8em;
background-position:0.5em;
}

.settingsProfileItem {
background-image:url(svg/settings.svg);
background-repeat:no-repeat;
background-size:1.8em;
background-position:0.5em;
}

最佳答案

啊,您遇到了 Webkit 中的错误。如果您尝试使用 CSS,即使您对它们进行编码,也不会显示具有嵌入位图图像的元素。要解决此问题,您需要将实际的 SVG 文件插入一个不可见的容器中(呃),然后将显示 CSS 中引用的图像。你可以做一些事情,比如……

<div class="icons">
... put all your svg code here
</div>

在你的样式表中:

.icons {
width: 1px;
height: 1px;
pointer-events: none;
opacity: 0;
overflow: hidden;
}

您也可以只插入纯 PNG。您现在拥有的是嵌入在 HTML 中的 SVG 中的位图,为什么不矢量化这些位图,或者插入纯 PNG?

关于html - SVG 图像未显示在 Webkit 浏览器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14503294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com