使用 SVG 和 CSS 的好處
已發表: 2023-02-01SVG 或可縮放矢量圖形是一種基於 XML 的標準,開發人員和設計人員使用它在 Web 上創建基於矢量的圖像和圖形。 通過使用基於文本的格式, SVG 文件比其他圖像格式更小且可擴展性更強,使其成為響應式網頁設計的理想選擇。 CSS,即層疊樣式表,是一種樣式表語言,用於描述 HTML 或 XML 文檔的呈現方式。 CSS 用於設置所有 HTML 標籤的樣式,包括標籤。 CSS sprint 是一個為期兩週的活動,網絡開發人員和設計人員齊聚一堂,共同致力於 CSS 相關項目。 在衝刺期間,參與者從事各種任務,包括錯誤修復、新功能、文檔和測試。
矢量圖形是使用SVG 格式創建的。 它基本上是一組可以放大和縮小的矢量圖形。 在 Adobe Illustrator 中,您可以使用以下功能。 在開始在 Web 上使用 SVG 之前,您應該了解很多事情。
可以使用 style> 元素將樣式表直接嵌入到SVG 內容中。 在 HTML 中,樣式元素與 SVG 中的樣式元素具有相同的屬性(有關更多信息,請參閱 HTML 的樣式元素)。
可縮放矢量圖形 (SVG) 格式是一種網絡友好的矢量文件格式。 與基於像素的光柵文件(如 JPEG)不同,矢量文件基於網格上的點和線存儲圖像,而不是特定類型的圖像。
什麼是 Svg 精靈?
SVG 精靈是多個 SVG 圖像組合成一個文件的集合。 然後可以使用此文件在網頁上顯示其中的所有圖像。 這允許更快的加載時間和更有效地使用帶寬。
svg-sprite 是一個低級的 Node.js 模塊,可以從大量的 SVG 中生成 Sprites。 您會找到一組用於創建樣式表的 Mustache 模板,這些模板既可以使用優秀的 CSS 格式,也可以使用一種主要的預處理器格式(Sass、Less 和 Stylus)。 與使用標準 API 不同,您可以使用 Grunt 或 Gulp 包裝器來節省時間和金錢。 在模式選項中,可以創建多種 Sprite 類型。 通過選擇不同的輸出模式,您可以多次啟用它。 在以一種預處理器格式(Sass、LESS、Stylus 等)創建 CSS 精靈和样式表時,務必要特別小心。 您還可以通過讀取 YAML 文件並註入適當的元素,將SVG 元素插入到 YAML 文件中。 在命令行版本中,您會發現一組令人印象深刻的工具來幫助您處理各種輸出格式。
多種因素促成了 SVG 的流行。 SVG 圖像的第一個優勢是它們的分辨率,這意味著它們可以隨時按比例縮小或放大而不會降低質量。 如果您使用的是較小的屏幕或擔心帶寬,這會很有用。 此外,由於它們的矢量化,SVG 文件可以用比光柵圖像更低的分辨率進行編輯和修改。 雖然擁有 HTMLScript 框架是有益的,但 SVG 的好處並不是那麼多。 例如,非技術用戶可能會發現標記難以理解。 此外,由於文件較大,網站的加載時間可能比 .SVG 格式的等效圖像更長。 此外,由於沒有單一的瀏覽器支持 SVG,一些用戶在查看該格式的圖形時可能會遇到兼容性問題。 儘管存在這些限制,SVG 仍然是創建可用於網頁和其他在線內容的高質量圖形的出色工具。 以下是一些用於了解和在網頁設計中使用 SVG 的資源: SVG 標準簡介:本文概述了 SVG 標準,並解釋瞭如何使用它創建圖像。 如何從頭開始創建可縮放矢量圖形 (SVG) 文件:本指南通過解釋可用的不同類型的線條和路徑類型,教您如何從頭開始創建可縮放矢量圖形 (SVG) 文件。 在 Web 上使用 SVG:本指南將引導您了解如何在各種網頁上使用它們。
Svg 精靈的許多好處和用途
什麼是 SVG 精靈? 它是如何使用的? 除了可用於徽標、圖表和圖標之外,SVG 文件還可用於多種用途。 它們很容易為客戶端和服務器創建和操作。 儘管它們的質量不同,但位圖和 SVG 可以縮放到任何大小而不會降低其質量。 與網絡字體相比,SVG 具有非常清晰的外觀,可以應用多種顏色、漸變,甚至是複雜的濾鏡。 如何導入 Sprite HTML? 將遵循以下步驟:您將為圖標的類元素命名; 然後,您將使用 *svg> 元素提供 Sprite 的 href 屬性,然後是如何在 React 中創建 sva Sprite 元素? (如果您有 HTML,請轉到 Google 並將其粘貼到 JSX 中。)只需將您的 JSX 轉換為純 React 組件並使用 render() 返迴轉換後的文件。 包括您在導入時創建的 React 精靈組件。 要使用精靈符號,只需使用.svg href=”#symbolnameorid”>.svg[/sqrt] 並且不需要前綴。
Svg 是 Css 的一部分嗎?
可縮放矢量圖形 (SVG) 可從各種供應商處獲得,但只有某些屬性可以轉換為 CSS。 presentation 屬性樣式 SVG 元素,也可以使用該元素的 CSS 屬性。 其中一些屬性僅適用於 SVG,而其他屬性已在 CSS 中共享,例如字體大小或不透明度。
presentation 屬性是一個 CSS 屬性,可用於設置 SVG 元素的樣式。 填充 CSS 的屬性以更改元素的顏色,例如,從藍色變為紅色。 文本、遮罩、過濾和過濾效果都是 SVG 共享的 CSS 屬性。 不可能為每個SVG 元素分配相同的 CSS 屬性。 rx 和 ry 的幾何屬性現在在最新版本的軟件中定義。 幾何屬性,就像填充或描邊等表示屬性一樣,可以用作 CSS 屬性。 可以使用 CSS 創建形狀變形。
CSS 還用於設置元素的寬度和高度。 如果一個元素被定義為 d,它將指定它的形狀。 如果你添加一個:active偽類,點擊時形狀會變色為正方形,再次點擊時會變成正方形。 Each.shape 類應該為 CSS 分配一個動畫延遲。 現在可能不建議在生產中使用這些技術。
在 SVG 中創建複雜圖形比使用 CSS 更難,因為它是一種更強大的語言。 與 CSS 相比,網頁可以具有由SVG 語言控制的更大範圍的圖形元素。 由於格式的矢量性質,可以按比例放大或縮小以獲得與高質量圖像相同的圖像質量; 這使其成為高分辨率圖形的絕佳選擇。 它具有透明度和 alpha 通道,使其成為創建逼真的圖形的絕佳選擇。 儘管 CSS 在創建簡單圖形方面更通用,但不如 sva 通用。 因為 SVG 不支持 HTML 元素的樣式,您必須使用 CSS 來獲得相同的結果。
為什麼 Svg 比 Css 好
使用 svg 而不是 CSS 的優點如下所述。 CSS 比圖形更易於使用,後者更精細、更詳細。
CSS 的圖形很難製作動畫,而 CSS 的圖形很容易製作動畫。
圖形可以保存為獨立於 CSS 文件的文件,而 CSS 文件不能保存。
另一方面,圖形與其他語言兼容,例如 Java 和 JavaScript,而 CSS 不兼容。
Svg 圖標如何工作?
SVG 圖標是矢量圖像,可以縮放到任意大小而不會降低質量。 它們可用於網站、應用程序和打印文檔。 要創建 SVG 圖標,您需要一個矢量編輯程序,例如 Adobe Illustrator。 創建圖標後,您可以將其保存為 SVG 文件。 要在網站或應用程序上使用 SVG 圖標,您需要將 SVG 代碼嵌入到 HTML 中。 您還可以使用 JavaScript 創建動畫 SVG 圖標。 這可用於創建交互式圖標,這些圖標在懸停時會改變顏色或大小。
可以在 HTML 和 CSS 中使用圖標,但這就是 Kaliop 的前端團隊使用它的方式。 繪製圓圈時,請在邊緣之間留出一些空間。 如果您想對像素擬合進行微觀管理(以在低屏幕上獲得最佳結果),則 Truedpi 尺寸不應該是一個問題。 當您從設計工具導出圖像時,它可能包含一些您不需要的額外文字或元數據。 在 d 屬性中,路徑數據也可能過於精確。 使用 SVGOMG 等工具,您可以比較前後代碼以確定是否發生了任何更改。 確保單色圖標未在源代碼中進行硬編碼並且我們不能通過 CSS 代碼更改顏色是至關重要的。
如果您手動製作 Sprite,我建議保存一個包含所有 SVG 圖標的文件夾。 如果您不需要樣式,您應該保留一個 SVG 文件,並使用 *img src=url/to/illustration.svg alt=...在您的 HTML 頁面中。 一些文章的建議是在圖標存儲庫中為每個 SVG 文件包含一個文本標籤。 polyfill 是通過使用 JavaScript (svg4everybody,svgxuse) 實現的。 或者,您可以在每個 HTML 代碼元素中包含您的 sprite。 與其他方法相比,每種方法都有自己的優點和缺點。 這兩種方法都很有效; 我喜歡這樣一個事實,即我可以分別製作兩個 Sprites。
SVG 樣式具有許多從其父元素繼承的屬性。 在此示例中, stroke-width 屬性採用長度值,但它由圖標的坐標決定。 如果您的路徑超過視口的限制,一半的行程將被切斷。 一個圖標可以被配置為出現在兩個不同的填充值中(每個都有自己的填充值)。 該頁面仍然可讀,但如果您有良好的 HTML 結構,圖像將大得多。 這應該包含在標有“head”的部分中。 我喜歡它簡短而甜美的事實。
使用 SVG 元素的寬度和高度屬性是另一種選擇。 此方法有效,但如果您使用 CSS 來調整大小,則可能不那麼簡單。 使用方形或斜線圖標時,請確保百分比值大致為圖標寬度的百分比。 如果我們想要漸變填充,我們需要在 sva 中使用漸變填充。 因為這不適用於 SVG 填充屬性,所以我們無法隨時使用 CSS linear-gradient(...)。
對圖標有三個要求。
圖標的大小由個人資料決定:小圖標在社交媒體個人資料上看起來很棒,而大圖標可用於標題和主菜單項。
您可以選擇圖標類型。 平面圖標是社交媒體個人資料圖標的最佳選擇,而 3D 圖標可用於菜單和其他應用程序。
原色通常用於創建社交媒體圖標,但也可以使用其他顏色。
社交媒體圖標的形狀通常為矩形,但也可以根據圖標的用途使用其他形狀。
根據圖標的用途,它可以以微妙或大膽的方式使用。
以下是使用圖標的一些一般提示。
如果你的圖標是一致的,它們就會脫穎而出。 因此,您將能夠以更易於理解的方式解釋和導航您的圖標。
創建易於識別和記憶的形狀和顏色。
在基本或中性配色方案之間進行選擇。
社交媒體圖標的尺寸應該很小。
平面圖標可用於社交媒體圖標。
菜單和其他應用程序的圖標應該以 3D 形式呈現。
您可以使用它們來創建功能齊全的動畫並進行自定義。
Svg 雪碧 Css 背景
精靈是包含多個單獨圖像的單個圖像文件。 對於 CSS 精靈,這些圖像顯示為不同元素的背景圖像。 通過使用 CSS 精靈,您可以減少加載頁面所需的 HTTP 請求數,從而提高站點的性能。
在未來幾年,SVG 圖形的流行程度將被圖標字體的使用所超越。 如果您使用 SVG,則跨瀏覽器渲染沒有明顯差異。 除了傳統方法外,還有幾種新的矢量圖形集成方法。 在本文中,我將研究可用作自動精靈背景的工作流程。 之後,我們將在下一篇文章中探討如何使用內聯 SVG 精靈。 SVG 還可以使用現成的類或可用於顯示它們的混合。 根據 render.scss.dest 選項,模式的 dest 目錄位於此位置。
此模板包括一個 SCSS 文件,其中包含所有元數據(位置和大小)的映射以及用於與背景圖形集成的混合。 我們為啟動該項目付出了巨大努力,因此我們希望充分利用它。 我們只需要整合生成的_sprite.scss的SCSS結構即可。 因此,我們可以輕鬆地為圖標創建規則。 當您將下一個圖形放入文件夾中時,雲彩就會消失。
瀏覽器支持內聯 Svg
所有主流瀏覽器都支持內聯 SVG ,包括 Internet Explorer 從版本 9 開始。 早期版本的 Internet Explorer 僅支持使用 object 或 embed 標籤呈現的 SVG。
Microsoft Edge 18 現已提供內聯sVG 支持。LambdaTest 允許您測試您的網站或 Web 應用程序與數千種不同瀏覽器和操作系統的兼容性。 使用 Microsoft Edge 瀏覽器和 Microsoft Edge 版本 18 的用戶數量是製定測試策略時要考慮的重要因素。 Microsoft Edge 最初是在 2008 年使用微軟專有的 EdgeHTML 瀏覽器引擎和 Chakra JavaScript 引擎構建的; 它被重命名為 Microsoft Edge Legacy。 截至 2017 年,它可用於 Windows 10 和 Xbox One,以及 Android 和 iOS 設備。 微軟決定將 Edge 添加到 macOS 和 Linux 的動機是基於 Chromium 的 Edge 瀏覽器越來越受歡迎。
內聯 Svg 的多種用途
以多種方式使用內聯 SVG 圖像。 除了創建模板之外,它們還可以用於生成用戶界面。 它們還可以用作頁面佈局的一部分,以添加額外信息,例如圖標或徽標。