将第三方 SVG 添加到您的 CSP
已发表: 2022-12-25如果您希望在您的 CSP 中允许第三方 SVG ,则需要做一些事情。 首先,您需要将第三方域名添加到您的白名单中。 接下来,您需要确保第三方的 SVG 托管在安全的服务器上。 最后,您需要将第三方的 SVG 添加到您的 HTML 文件中。
你能把 Svg 放在 Css 中吗?
尽管我们可以使用数据 URI 在 CSS 中使用 SVG,但它仅适用于基于 Webkit 的浏览器。 当使用 encodeURIComponent()编码 SVG时,它适用于所有格式。 SVG 需要 xmlns 才能具有属性 xmlns:xmlns=' http://www.w3.org/2000/svg'。 如果不存在,它将自动添加。
sva 中的图像可用于创建图标、缩略图和徽标。 它们也是用于在线广告的不错选择,因为它们可以缩放到任何尺寸而不会降低质量。 .VNG 格式的图片体积小,压缩性好,使您的网站加载速度更快。 如果您打算在您的网站中使用 SVG 图像,您应该使用矢量编辑器,例如 Adobe Illustrator 或 Inkscape。 您可以使用这些可以下载和使用的免费编辑器快速轻松地创建高质量的 SVG 图像。
您可以更改 Svgs 在 Css 中的显示方式
如何更改 SVG 在 CSS 中的显示方式? HTML 图像只能使用 CSS 和 Javascript 显示,因此如果将它们作为图像加载,则无法更改它们的外观。 要更改 SVG 图像,您必须首先使用 *object、*iframe 或 *svg inline 加载它。
我可以使用 Svg 作为背景图像 Css 吗?
在 CSS 中,您还可以使用 SVG 图像作为背景,就像在 PNG、JPG 和 GIF 中一样。 基于 SVG 的游乐设施可以包含与基于它的游乐设施相同的所有出色功能,例如灵活性和清晰度。 您还可以以其他方式使用光栅图形,例如重复。
在下面的示例中,我们将向您展示如何应用 enable-background 属性来生成交互式渐变。 梯度函数可用于生成一系列水平梯度值。 在第一个梯度中,有一个线性梯度函数,在第二个梯度中,有一个径向梯度函数。 在元素中,渐变混合在左侧和右侧之间。 要启用渐变,请使用 enable-background 属性使其透明。 在图像文件格式中,它用于为网站创建二维矢量图形和矢量光栅图像。 由于支持动画、透明度、渐变和质量,它易于缩放且响应迅速。 enable-background 属性指定如何管理背景图像的累积。 除了将 enable-background 用作 CSS 属性外,enable-background 属性还可以用作 presentation 属性。 此属性可与以下元素结合使用:a>defs。
启用背景图像以获得更好的元素可见性
启用后,导航到 enable-background=url(#bg-image)。
url() 函数将用于将指定的背景图像加载到元素的背景中。
有关详细信息,请参阅启用背景。 您可以通过禁用此功能来防止背景图像被累积。
什么是内联 Svg?
网页中使用的内联 SVG 标记是指包含在网页本身中的标记。
启用 gem 的方法读取 SVG 文档并将CSS 类属性用于文档的根。 因此,您可以像处理其他 Rails 资产一样预处理和识别您的 SVG 文件,或者您可以搜索并找到您的 SVG 数据。 尽管它仍然支持 Ruby 3 和 4,但 Inline SVG 不再受到官方支持。 文档的名称,以字符串形式表示文档的名称,应该是 Ruby 中自定义资产文件加载器的来源。 应用转换的第一个数字是升序中最小的数字。 没有优先级分配给自定义转换,无论优先级如何,都会应用自定义转换。 如果您在应用程序启动时在内存中拥有所有可能的 SVG 资源,那么缓存它们会很有趣。
在 InlineSvg::InitializedAssetFile 文件中定义的 InlineSvg::CachedAssetFile 可以扫描任意数量的磁盘路径并将所有检测到的资产加载到内存中。 因为路径是递归读取的,所以请让您的 SVG 资源尽可能小。 如果未找到文件,则可以将 inline_svg_tag 配置为在未找到时引发异常。
内联 SVG可用于矢量插图和图标,因为它们具有较小的文件大小和与分辨率无关的图形,使它们适合在各种环境中使用。 您可以使用内联 SVG 生成矢量插图和图标。 由于这些图形文件较小且与分辨率无关,因此可以随时以任何分辨率使用这些图形。
Svg 图像:优点和缺点
但是,此服务有一些附加条件。 首先, SVG 元素将显示在您的 HTML 文档中。 此外,您必须使用 img 标签而不是 svg 标签来引用文件。 如果要正确显示 SVG 文件,也必须正确显示它们。
Csp Svg 内联样式
CSP SVG 内联样式是一组 CSS 规则,可用于在文档中内联设置 SVG 元素的样式。 这允许更简洁和可维护的代码,并可用于在多个 SVG 文档中实现一致的外观和感觉。
默认情况下,内容安全策略禁用内联样式。 CSP 仍然可以与内联样式一起使用,只要它们被允许。 随机数是指定样式标签的最简单方法之一。 CSP 策略还可用于计算标签的哈希值以及指定 CSP 策略的值。 CSP Level 3(最新)浏览器包含一个源列表值,可用于允许使用不安全散列的 HTML 标记中的内联样式属性。 我不确定您为什么要使用 CSP'self' 关键字,但您始终可以将其替换为源列表以在您的页面上加载样式表。 您还可以使用 unsafe-inline source list 关键字,这会降低 CSP 提供的大部分安全保护。