當談到向 SVG 元素添加類時,有兩種方法可以解決

已發表: 2023-02-08

在向 SVG 元素添加類時,有兩種方法。 第一種也是最明顯的方法是簡單地使用 className 屬性:var mySvg = document.querySelector('#my-svg'); mySvg.className = '我的班級'; 如果您只處理一個類,這會很好地工作,但如果您需要添加多個類,則需要使用 classList API:var mySvg = document.querySelector('#my-svg'); mySvg.classList.add('我的類'); mySvg.classList.add('另一個類'); 如果需要刪除一個類,可以使用classList.remove()方法:mySvg.classList.remove('my-class'); 最後,如果您需要切換一個類(即如果它不存在則添加它,或者如果它存在則將其刪除),您可以使用 classList.toggle() 方法:mySvg.classList.toggle('my-class') ;

文檔對像模型 (DOM) 可用於表示 HTML 和 SVG。 因此,使用 Javascript 操作它們相對簡單。 在本課中,我將介紹如何同時使用內聯 SVG 和外部 SVG 。 GitHub 提供了多種代碼示例,可在本頁頂部找到。 當您使用相同的代碼創建外部 SVG 時,元素的內容可以在 SVG 本身中使用。 SVG 無法訪問嵌入其中的 HTML 文檔,因此無法查看頁面上的其他 SVG。 如果用 CDATA 包裝代碼,XML 解析器會將 JS 代碼視為 XML 的一部分。

元素的創建和移除是一回事,只是在不同的地方。 使用相關文檔的 createElementNS() 方法,傳入標籤名稱和相關文檔的命名空間以創建元素。 要刪除元素,您必須使用 createTextNode() 創建一個單獨的文本節點,然後將其附加到該元素。 因為它們不在同一個文檔中,所以可以這樣使用。

class 屬性將以下類名分配給 svg> 標記:class、class 和 class。 定義類名時,使用樣式表或具有樣式名稱的本地元素。 樣式是使用類創建的,例如類名。

在元素樣式方面,HTML 支持元素特定的“style”和“class”屬性,以及 HTML 的 class 和 style 屬性。 'class' 屬性為元素分配一個名稱,然後用於在樣式語言中尋址該元素。 元素使用樣式屬性來指定它們的 CSS 聲明。

HTML 代碼的屬性和值存儲在 SVG 的 CSS 屬性和值中。 有一些示例與 HTML 屬性非常相似。

你能把類放在 Svg 上嗎?

你能把類放在 Svg 上嗎?
圖片來源:https://pinimg.com

可以將 class 放在 svg 上,但不建議這樣做,因為它可能會導致某些瀏覽器出現問題。

將 HTML 命名空間添加到 SVG 時,可以使用 CSS 設置元素樣式並使用 *foreign 對象屬性加載 SVG,這將改變它的顯示方式。

用 Svgs 組織你的平面設計

SVG 文件最多可以包含三個標記為“*svg”的元素。 將圖形設計組織成邏輯組的過程也很簡單。

Javascript 可以應用於 Svg 嗎?

因為它們可以內嵌在 HTML 中,所以我們的SVG 圖像可以使用 JavaScript 進行操作。 我們可以通過代碼為圖像的一部分製作動畫,將其轉換為數據驅動的交互環境,並根據數據生成圖形。

DRY 是使您的代碼更快、更健壯且編寫起來更省時的絕佳方法。 在 IE 中,沒有必要依賴全局事件對象。 將您的事件對象設置為事件處理程序。 因為已經修改了 x 和 y 變量,所以不需要進一步更改它們的屬性。 如果我使用奇數和 keydown 而不是按鍵,我上面提供的 keydown 和 ASCII 事件代碼在所有瀏覽器中都有效。 AddEventListner() 可用於通過僅使用事件處理程序的 onfoo = * 屬性而不是使用 onfoo= * 屬性來描述應該發生什麼來將事件處理程序附加到元素。 外部函數僅在頁面加載後運行,因此不需要引用任何元素。

總而言之,在此演示過程中需要注意一些事項。 svg> 標籤用於生成 SVG 圖像。 在 SVG 圖像中,使用了一個標籤。 svg 標籤位於 body 元素內。 可以在元素內找到標籤。 標識符用於引用 *svg> 標記。 當有標籤時,屬性用於引用它。 svg> 標籤中的動畫屬性設置為“ease out”。 屬性 easeOut 必須設置為那個。 svg> 標籤的寬度和高度屬性設置為 100%、100%。 以下代碼將使用 SVG 創建圖像並定義動畫屬性 aseaseout。 XML xmlns=” http://www.w3.org/2000/svg” width=100% height=100% id=demo-svg svg可以作為一種格式。 您還可以通過使用鼠標單擊它們來與 SVG 文件進行交互。 這個方法是通過創建一個新元素,將它插入到 body 元素中,然後離開它來完成的。 通過將以下代碼添加到元素中,您可以使您的 svg 文件更具可讀性。 svg> 可以用作基本格式。 *使用 xlink:href 可以通過以下 URL 訪問此頁面:*/svg。 通過這樣做,您將能夠在 SVG 上創建一個可點擊的點。 可以通過在一個點上單擊兩次來訪問用戶界面。 SVG 交互性有哪些用途? 各種動畫可以是交互的,同時也可以由用戶啟動。 當用戶單擊 SVG 圖像時,它會生成一個看似實時的動畫。 使您的網站看起來具有交互性的第三種方法是使用交互式 SVG 圖形,它可用於添加用戶與站點之間實時交互的幻覺。 要創建交互式 SVG 圖像,請首先使用 svg> 標籤。 然後您必須包含 *svg 在這一步中,您必須指定動畫屬性 easeOut。 如果一切設置正確,您的網頁看起來將與演示中顯示的完全相同。 觀看此演示時需要記住幾件事。 首先,svg> 標籤後面必須跟有圖像。 要添加的第二個元素是 body 元素內的 HTML 標記“svg”。

為什麼你應該使用 Svg

XML 和矢量圖像用於SVG 格式。 這意味著它可以在不引起退化的情況下重新調整大小,並且不依賴於分辨率。 CSS 和/或 JavaScript 可用於輕鬆操作和動畫 SVG。 因此,使用 SVG 可以縮短頁面加載時間(而不是 JPG、JPEG 和 PNG)。 JavaScript 可以添加到 SVG 文檔中開始和結束標記之間的任何位置。 一般建議將腳本放在文檔的末尾,以防止阻塞並允許其完全訪問 DOM。 如果您想將 SVG 圖像直接寫入 HTML 文檔,您可以使用 *svg 在 VS 代碼或您首選的 IDE 中打開 SVG 圖像的代碼,將其複制並粘貼到 HTML 的 body 元素中文件是必需的。 如果一切順利,下面的演示應該看起來是一樣的。