將第三方 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 圖像,您應該使用矢量編輯器,例如 Adob​​e Illustrator 或 Inkscape。 您可以使用這些可以下載和使用的免費編輯器快速輕鬆地創建高質量的 SVG 圖像

您可以更改 Svgs 在 Css 中的顯示方式

如何更改 SVG 在 CSS 中的顯示方式? HTML 圖像只能使用 CSS 和 Javascript 顯示,因此如果將它們作為圖像加載,則無法更改它們的外觀。 要更改 SVG 圖像,您必須首先使用 *object、*iframe 或 *svg inline 加載它。


我可以使用 Svg 作為背景圖像 Css 嗎?

我可以使用 Svg 作為背景圖像 Css 嗎?
圖片來源:googleusercontent.com

在 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 提供的大部分安全保護。