修复 SVG 文件在 Safari 中更改的 3 种方法

已发表: 2023-02-28

如果您发现 Safari 正在更改您的SVG 文件,您可以采取一些措施来解决该问题。 首先,确保您使用的是最新版本的 Safari。 如果不是,请更新到最新版本,看看是否能解决问题。 如果这不起作用,请尝试重置 Safari。 为此,请转到 Safari 的菜单并选择“重置 Safari”。 这会将 Safari 的所有设置重置为默认设置,这可能会解决问题。 如果重置 Safari 不起作用,那么您最后的选择是卸载并重新安装 Safari。 这肯定会解决问题,但这也意味着您将丢失所有 Safari 数据,因此请务必在执行此操作之前备份您的数据。

Antti Koivisto 修复了 iOS (9.4.2) 中的错误,OS X 9.1.1 (11601.6) 的 Safari 已在两个平台的当前更新中发布。 使用SVG 地图,您可以将所有 SVG 图标组合到一个文件中,然后从外部源加载它们。 当在网页中使用一个图标时,整个 sprite 文件会被重新加载。 该错误是在适用于 Mac OS X 的 Safari 9.1.1 版本和适用于 iOS 的 iOS 9.3 版本中发现的,但浏览器的早期版本不包含它。 我向 Apple 的错误跟踪器和 svg4everybody 存储库提交了一个错误。 您可以使用各种方法来加载和显示它们,而不是按设计划分图标。 Safari 的更新现已实施并得到解决,下一个版本可能会在今年秋季推出。 如果这些在整个页面中频繁使用的图标可以与文档头部的 SVG 文件内联以确保它们被正确使用,那将是更好的选择。 如果我们必须在第一次加载时这样做,我们也会提出一两个请求。

由于 SVG 是一种将由您的浏览器自动启动的文件,因此该文件不会在任何其他浏览器中启动。 因为您的计算机识别 XML 文件而不是图形,所以它可以处理 SVG。

Svg 在 Safari 中工作吗?

Svg 在 Safari 中工作吗?
图片来源:pinimg

是的,SVG 在 Safari 中工作。 Safari 是由 Apple Inc. 开发的网络浏览器,它是 Apple 设备上的默认浏览器。 Safari 支持大多数网络标准,包括 HTML5、CSS 和 JavaScript。

Apple 的 Safari 浏览器是最新版本,它完全支持所有网络技术。 因此,任何使用 Safari 12 的人都可以正常查看您的页面。 在执行适当的测试策略之前,了解有多少用户在使用 Safari 12 至关重要。 Apple Inc. 创建并维护着 Safari 网络浏览器。 此浏览器取代了 Internet Explorer for Mac 作为默认的 Web 浏览器。 此外,在 2007 年至 2010 年期间,Safari 可用于 Windows。 可以在 Safari 下载链接中找到官方 Apple 支持号码。

45.1、44.0-45.0、44.0版本提供Firefox对SVG(basic support)的基本支持; 但是,Firefox 44.0 不支持它。
对 SVG(底层源代码)的基本支持在 Windows Edge 17.14 中完全支持,在 16.04-17.14 中略微支持,在 Windows Edge 16.14 及更高版本中不完全支持。
现在可以在 Chrome、Safari、Firefox 和 Edge 以及其他平台上查看 SVG 文件。 Internet Explorer 目前不支持它。

Svg:完美插图的矢量图形格式

使用诸如 sva 之类的矢量图形格式可以创建插图和图形。 因此,任何通过 Safari 12 访问您页面的人都将能够看到 SVG 的工作原理。 Inkscape 是一款出色的免费 SVG 编辑器,可用于制作和操作对象。 使用 Inkscape,您可以徒手绘画。 支持其所有输出格式,例如 PNG、XML、PDF、EPS 等。 所有 SVG 文件,如网页,都可以在任何浏览器中查看。 SVG 文档可以嵌入“iframe”,就像我们在之前的文章“从“对象”到“iframe”——其他嵌入技术中所做的那样。

是否有任何浏览器不支持 Svg?

是否有任何浏览器不支持 Svg?
图片来源:blogspot

某些较旧的 Web 浏览器(例如 Internet Explorer 8 及更早版本)不支持 SVG。 但是,所有现代网络浏览器都支持 SVG。

当前没有支持整个规范的当前浏览器实现; 您必须检查您希望定位的每个浏览器中的个别功能。 如果您只绘制基本形状并且不使用任何高级功能(例如滤镜、动画等),您应该没问题。 可以在此处找到完整的浏览器兼容性矩阵。 所有图像也允许使用 SVG。 对于配备视网膜显示屏的 iPhone,这就是您所需要的全部。 在不久的将来,将会有更多的设备。 如果您的浏览器不支持,您可能需要下载一个新的。

您可以使用 PNG 而不是 asvg 来创建“no-svg”类。 如果您使用 <img> 元素,我会结合使用 Modernizr(一个检测它们的 JavaScript 库)。 可以具有某些特征,例如这个。 有用于支持的 jQuery 行以及用于浏览器的几行。

尽管它具有多功能性,但由于压缩,SVG 格式与传统图像格式不兼容。 这在响应式网站的设计中特别有用,响应式网站必须在各种屏幕尺寸和设备上看起来都不错并且运行良好。 虽然白色 SVG 只能通过 chrome 浏览器查看,但您可以使用一些 hack 来更轻松地查看它们。 您可以通过将 svg 拖放到 chrome 浏览器中,然后使用开发工具(f12 或 ctrl shift i)更改背景颜色,将最顶层 DOM 元素的背景颜色更改为黑色。

浏览器支持 Svg 吗?

有许多应用程序可以将SVG 图像用作图像格式。 HTML 元素,例如 *img。 或 *svg,可用于在浏览器中显示 SVG 图像。 图像在 CSS 中。

使用 Svg 的优点和缺点

如果你想创建在所有浏览器和设备上看起来都很棒的东西,你应该考虑使用 SVG。

为什么 Svg 没有出现在 Chrome 中?

如果没有与源代码关联的属性值,Chrome 将不会显示 svg 图像。 更改您的SVG 源代码以包含所需的宽度属性。

更新浏览器以避免 Svg 图像出现问题。

也可以在较旧的浏览器中将内容类型设置为 svg。 要更改svg 链接的内容类型,请转到旧版浏览器并选择“设置”。 例如,将内容类型设置为 svg,如果链接是 img src=”image.svg”>,可能会有所帮助。

Svg 文件可以改变颜色吗?

Svg 文件可以改变颜色吗?
图片来源:pinimg

可缩放矢量图形 (SVG) 文件是一组使用 XML 文本文件定义的图形。 这意味着可以使用文本编辑器以及颜色编码的 HEX 代码更改颜色。

通过使用下面描述的代码示例的不同策略,可能会遇到相同的错误。 可以在下面找到更改 Svg 颜色的方法。 渐变(线性或径向渐变)是定义颜色的方法。 对于您想要的每种渐变颜色,您应该只有一个子元素。 在Cuttlera中有什么方法可以将图片另存为图像吗? 您可以使用预定义的样式轻松更改 SVG 文件的外观。 你如何给矢量着色? 如何更改图像的颜色? 我可以在预览之前编辑购买的图像吗?


Svg 在 Safari 中无法正确呈现

Svg 在 Safari 中无法正确呈现
图片来源:imgur

SVG 在 Safari 中无法正确呈现的潜在原因有几个。 这可能是文件本身的问题,或者是文件嵌入页面的方式的问题。 另一种可能性是浏览器没有正确处理 SVG 的 XML 编码。
如果您在使 SVG 在 Safari 中正确显示时遇到问题,请尝试检查文件是否有错误并确保它已正确嵌入。 如果这不起作用,您可能需要切换到不同的浏览器或尝试使用不同的文件格式。

Svg Safari 兼容性

因此,任何使用 Safari 12 的人都会看到完全支持的页面,这意味着他们可以看到您页面包含的所有内容。 可能还有其他 Web 技术在起作用,例如 .NET(基本支持),这会导致浏览器不兼容。

由于 Safari 13 部分支持 HTML 的 SVG 效果,因此任何通过 Safari 13 访问您的页面的用户都可以完美地看到它。 在给定的测试策略中使用 Safari 13 的用户数量应该是已知的。 总的来说,Safari 13 和 Safari 浏览器的市场份额合计为 24.3%。 Apple Inc. 的 Safari 网络浏览器是最受欢迎的浏览器之一。 Mac 的 Internet Explorer 是默认的 Web 浏览器,直到 2010 年被该浏览器取代。从 2007 年到 2010 年,还提供了与 Windows 兼容的 Safari 浏览器版本。 Safari 的 Apple 官方支持电话号码是 1-800-319-2178,因此您可以获得最新版本。

Svg Fill=url 不工作 Safari

出现“svg fill=url not working safari”错误的可能原因有几个: 1. URL 可能不正确——确保 URL 正确且拼写正确。 2. 文件可能不受支持——确保 Safari 支持该文件类型。 3. 文件可能已损坏 – 如果文件已损坏,请尝试重新下载或使用其他程序打开它。

Safari Svg 宽度

Safari 浏览器显示SVG 内容的最大宽度为 1,024 像素。 可以通过放大或使用全屏模式来增加此宽度。

在响应式设计中,Chrome 和 Firefox 可以呈现内联 SVG。 某些 WebKit 移动浏览器(如 Safari)无法正常工作。 CSS 和 JavaScript 可用于以这种方式内联操作 SVG。 从长远来看,这个问题会消失。 WebKit 的 nightlies 已经包含这个错误。 因为 Matt 的网站是轻量级的,所以我无法使用 jQuery 来构建它。 因此,vanilla JavaScript 被选为首选实现。

您可以在此处查看整个 JavaScript 文件:https://gist.me/5880387#file-js-fix-for-responsive-svgsinsafari-js。 由于其文件大小较小(1,936 字节)/gzipped 797 字节,JS 并不比大文件重很多。 Sergio Lopez 提供了一个很好的解决方案来回答我下面的问题。 在 A List Apart 中,Thierry Koblentz 使用固有比率来描述视频问题的解决方案。 如果您只需要剪切和粘贴解决方案,答案是:首先,包装 SVG 的对象标签。 您需要做的就是使用 JavaScript 登录。

Safari Svg 模糊

您的 safari svg 模糊可能有几个可能的原因。 可能是文件的质量不够高,或者没有针对网络使用进行适当优化。 另一种可能是您的浏览器未设置为以完整分辨率显示 svg 文件。 要解决此问题,您可以尝试将浏览器设置为以完整尺寸显示 svg 或在svg 查看器中打开文件。

桌面版 Safari 的局限性

此功能在桌面计算机上的 Safari 中不可用。

Svg 不显示在 Iphone 上

如果您在 iPhone 上查看 SVG 图像时遇到问题,可能有一些原因。 首先,确保您使用的是支持 SVG 图像的现代浏览器。 然后,通过在文本编辑器中打开 SVG 文件来检查它是否有效。 如果您看到任何错误,请尝试修复它们并保存文件。 最后,尝试在浏览器中重新加载页面。 如果图像仍然没有出现,请尝试重新启动手机。

Svg 图标

SVG 图标是以SVG 文件格式保存的图标。 这种文件格式基于 XML 并允许可缩放的矢量图形。 SVG 图标可用于网站和应用程序,并且可以缩放到任意大小而不会降低质量。

可扩展标记语言 (XML) 是一种矢量图像格式,可以使用可缩放矢量图形 (SVG) 引擎绘制。 HTML 代码块,也称为 XML 代码块,是直接提供给浏览器并在浏览器中呈现的代码块。 与文字相比,可以在更短的时间内看到的小图像可以更快地指示动作和信息。 大约在这个时候,除了 Tamagotchis、iMac 和 Palm Pilots 的出现之外,SVG 图像文件格式在网络上首次亮相。 大多数网络浏览器都不支持 SVG这样的东西。 尽管 SVG Web 浏览器在 2017 年开始渲染时没有出现任何问题,但并未得到广泛采用。 因为 SVG 和图标网络字体都是矢量,所以您不会遇到缩放问题。

在使用预制图标进行设计时,您将获得更多选择。 如果您想创建更多用途的文件,请选择 svg 文件。 可以手动或通过使用工具创建SVG 图标。 您可以使用矢量图像程序在虚拟绘图板上绘制图标。 导出 .svg 文件后,您就完成了。 这个 Evernote 列表包含可以下载的免费 SVG 图标。 形状的尺寸由其宽度和高度定义,而其位置由其 x 和 y 定义。 类可以在单独的 CSS 文件中指定,元素的样式也可以在类中指定。 这些图标的颜色可以通过在 Ycode 的无代码生成器中更改背景颜色来更改。

Svg 图标:保持文件较小的技巧

使用 SVG 图标时,保持文件大小尽可能小至关重要。 可以使用工具或手绘创建可缩放图形。 在通过工具导出图标时,图标必须是可缩放矢量图形 (SVG) 格式,这一点至关重要。 绘制图标时,请确保文件大小尽可能小。