【问题标题】:SVG not showing on iOS Chrome and Safari?SVG 未在 iOS Chrome 和 Safari 上显示?
【发布时间】:2014-08-30 07:34:04
【问题描述】:

由于某种原因,我网页中的其中一个 SVG 无法在 iOS Chrome 或 iOS Safari 上呈现。我用于主徽标的另一个 SVG 渲染得非常好,它们使用与文件名/路径完全相同的代码栏。检查器中的元素具有正确的大小和宽度,但图像本身不存在。它在普通浏览器中也能很好地呈现,即使缩小到类似移动设备的分辨率。

这是 SVG 的代码

 <div class="col-2 footer-logo">
     <a href="#" title="foo">
         <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 235 61">
              <image xlink:href="img/footer_logo.svg" src="img/footer_logo.png"      width="234" height="60"/>
         </svg>
     </a>
  </div>

以及随附的 SCSS

.footer-logo{
    padding-left: 8em;
    a{
        display: inline-block;
        width: 235px;
        height: 61px;
    }
}

@media screen and (max-width: 1140px){
    footer{

        .footer-logo{
            padding-left: 0;
            margin-top: 2em;
        }
    }
}

编辑:页脚代码

<footer class="col-4">
        <div class="container">
            <nav class="col-4 inner-footer">
                <div class="col-1 footer-links">
                    <h4>foo</h4>
                    <ul>
                        <li><a href="#">foo?</a></li>
                        <li><a href="#">foo?</a></li>
                        <li><a href="#">foo?</a></li>
                        <li><a href="#">foo?</a></li>
                    </ul>
                </div>
                <div class="col-1 footer-links">
                    <h4>foo</h4>
                    <ul>
                        <li><a href="#">foo</a></li>
                        <li><a href="#">foo</a></li>
                        <li><a href="#">foo</a></li>
                    </ul>
                </div>
                <div class="col-1 footer-links">
                    <h4>foo</h4>
                    <ul>
                        <li><a href="#">foo</a></li>
                        <li><a href="#">foo</a></li>
                    </ul>
                </div>
                <div class="col-1 footer-links">
                    <h4>foo</h4>
                    <ul>
                        <li><a href="#">foo</a></li>
                        <li><a href="#">foo</a></li>
                        <li><a href="#">foo</a></li>
                    </ul>
                </div>
            </nav>
            <hr class="col-4">
            <div class="col-2 copyright">
                <p>foo.</p>
                <p><a href="#">foo</p>
            </div>
            <div class="col-2 footer-logo">
                <a href="#" title="foo">
                    <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 235 61">
                        <image xlink:href="img/footer_logo.svg" src="img/footer_logo.png" width="234" height="60"/>
                    </svg>
                </a>
            </div>
        </div>
    </footer>

【问题讨论】:

标签: ios css svg mobile-safari mobile-chrome


【解决方案1】:

SVG image tag does not support "src" as an attribute (包括它在内)可能会触发桌面浏览器中的回退行为,这些浏览器试图将其呈现为 HTML &lt;img&gt; 标记。

更新:OP实际上忘记关闭他的&lt;image&gt;标签,但更正了他发布的代码中的错误,所以你再也看不到原来的问题了。这个问题和答案应该被忽略,因为它不再适用于任何目的(可能除了人类学)。

【讨论】:

  • 但是 Chris Coyier 的这篇文章指出这是一种有用的后备技术css-tricks.com/svg-fallbacks 我在网站上的每个 SVG 上都使用相同的技术,为什么只有这个会抛出一个摇摆器? - 感谢您花时间尝试和帮助 :)
  • 嗯...那显然不是 :) 你能发布你的 SVG 图像的源代码,看看源代码中是否有奇怪的东西吗?
  • 原始问题中提供了源代码,除非您指的是 JSFiddle 中的实时版本? :)
  • 我的意思是 footer.svg 的来源 - 图像内容中可能存在某些问题
  • 您为什么将迈克尔的答案标记为解决方案,然后声明它没有解决您的问题?这似乎仍然是一个未解决的问题。
【解决方案2】:

问题是您在该 SVG 中嵌入/编码了 PNG。修复的解决方案是在 Adob​​e Illustrator 之类的程序中打开它,并使用矢量化它的“Trace Image”功能。

【讨论】:

  • 嗨,这不是答案,它在末尾缺少尾随 而不仅仅是 />。正如 CSS-Tricks css-tricks.com/svg-fallbacks 所展示的那样,.PNG 是作为后备的。感谢您花时间尝试和帮助! :)
  • 哦,我明白了。我的错,我有一个类似的问题,这就是我的解决方案。很高兴了解后备。
猜你喜欢
  • 2017-02-21
  • 1970-01-01
  • 2019-11-24
  • 1970-01-01
  • 2018-10-17
  • 2014-11-25
  • 2021-05-02
  • 1970-01-01
  • 2015-04-18
相关资源
最近更新 更多