自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一篇文章帶你了解SVG <use> 元素

開發(fā) 前端
SVG 元素可以重用SVG文檔中其他位置(包括 元素和 元素)的SVG形狀??梢栽?元素內(nèi)部(使形狀直到使用之前不可見)或外部定義重用形狀。

[[373188]]

SVG 元素可以重用SVG文檔中其他位置(包括 元素和 元素)的SVG形狀??梢栽?元素內(nèi)部(使形狀直到使用之前不可見)或外部定義重用形狀。

一、簡單案例分析

示例

  1. <!doctype html> 
  2. <html lang="en"
  3.   <head> 
  4.     <meta charset="UTF-8"
  5.     <title>Document</title> 
  6.   </head> 
  7.   <body style="background-color: aqua;"
  8.  
  9.     <svg width="500" height="100" style="fill: #FF0000;"
  10.       <defs> 
  11.         <g id="shape"
  12.           <rect x="0" y="0" width="50" height="50" ></rect> 
  13.           <circle cx="0" cy="0" r="50"></circle> 
  14.         </g> 
  15.       </defs> 
  16.  
  17.       <use xlink:href="#shape" x="50" y="50"></use> 
  18.       <use xlink:href="#shape" x="200" y="50"></use> 
  19.  
  20.       <circle cx="50" cy="50" r="5" style="fill:#0000ff;"></circle> 
  21.       <circle cx="200" cy="50" r="5" style="fill:#0000ff;"></circle> 
  22.  
  23.     </svg> 
  24.  
  25.   </body> 
  26.  
  27. </html> 

這個實例顯示了在元素中定義的元素。這使得不可見,除非被元素引用。

在引用元素之前,必須通過其ID屬性對其設(shè)置ID。元素通過其xlink:href屬性。注意屬性值中ID前面的#。

元素通過其x和y屬性指定在何處顯示重復(fù)使用的形狀。請注意,元素內(nèi)部的形狀位于0,0。這樣做是因為它們的位置已添加到元素中指定的位置。

運行后圖像效果:

圖片

藍點圓點不是示例的一部分。添加它們是為了顯示兩個 元素的 x 和 y。

二、在defs元素外使用形狀

元素可以重用SVG圖像中任何位置元素,只要該形狀具有唯一值的id屬性即可。

示例

本示例定義了一個元素,其中包含一個元素。然后,它通過元素重用元素(包括嵌套的元素)。

運行后圖像效果:

藍點圓點不是示例的一部分。添加它們是為了顯示兩個 <use> 元素的 x 和 y。

二、在defs元素外使用形狀

<use>元素可以重用SVG圖像中任何位置元素,只要該形狀具有唯一值的id屬性即可。

示例

  1. <svg width="500" height="110"
  2.       <g id="shape2"
  3.         <rect x="0" y="0" width="50" height="50" /> 
  4.       </g> 
  5.       <use xlink:href="#shape2" x="200" y="50" /> 
  6.       <circle cx="200" cy="50" r="5" style="fill:#0000ff;" /> 
  7. </svg> 

本示例定義了一個<g>元素,其中包含一個<rect>元素。然后,它通過<use>元素重用<g>元素(包括嵌套的<rect>元素)。

運行后圖像效果:

同時顯示了原始形狀及其重用版本。之所以發(fā)生這種情況,是因為未在<defs>元素或<symbol>元素內(nèi)定義要重用的形狀(<g>元素)。因此它是可見的。

同樣,藍色圓點顯示<use>元素的坐標。

三、設(shè)置CSS樣式

如果原始形狀上沒有設(shè)置CSS樣式,則可以在重用形狀時設(shè)置CSS樣式。只需指定要在元素的style屬性內(nèi)設(shè)置的樣式。這是一個示例:

  1. <svg width="500" height="110"
  2.  
  3.       <g id="shape3"
  4.         <rect x="0" y="0" width="50" height="50" /> 
  5.       </g> 
  6.  
  7.       <use xlink:href="#shape3" x="100" y="50" style="fill: #00ff00;" /> 
  8.       <use xlink:href="#shape3" x="200" y="50" style="stroke: #00ff00; fill: none;" /> 
  9.  
  10. </svg> 

原始形狀上沒有設(shè)置style屬性。然后將使用默認樣式(通常為黑色)進行渲染。

四、總結(jié)

本文基于SVG基礎(chǔ),介紹了如何重用SVG文檔中其他位置,設(shè)置CSS樣式。通過案例分析,運行效果的展示 ,能夠更直觀的,更具有看到在實際項目中應(yīng)用。

歡迎大家積極嘗試,有時候看到別人實現(xiàn)起來很簡單,但是到自己動手實現(xiàn)的時候,總會有各種各樣的問題,切勿眼高手低,勤動手,才可以理解的更加深刻。

本文轉(zhuǎn)載自微信公眾號「前端進階學(xué)習(xí)交流」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系前端進階學(xué)習(xí)交流公眾號。

 

責(zé)任編輯:武曉燕 來源: 前端進階學(xué)習(xí)交流
相關(guān)推薦

2020-12-29 09:39:38

元素屬性定位

2020-12-25 09:42:51

SVGtspanSVG基礎(chǔ)

2020-12-04 08:40:29

SVG動畫元素

2020-12-08 08:09:49

SVG圖標Web

2021-02-26 20:01:57

SVG濾鏡元素

2020-12-23 08:12:08

javascriptSVG腳本SVG元素

2021-02-23 06:51:16

SVGstrokeHtml基礎(chǔ)

2021-03-26 09:57:51

SVGHtml基礎(chǔ)SVG圖像

2022-05-13 16:21:38

javascrip腳本SVG

2021-01-04 10:14:42

SVG標簽元素

2021-02-05 18:36:15

SVG形狀屬性

2020-12-15 08:15:34

SVG元素路徑

2020-12-11 08:39:14

SVG代碼剪切

2021-05-07 14:17:01

JavaScript元素網(wǎng)頁

2025-02-25 11:12:53

JavaScriptHTML元素CSS

2023-05-12 08:19:12

Netty程序框架

2021-06-30 00:20:12

Hangfire.NET平臺

2023-07-30 15:18:54

JavaScript屬性

2023-05-08 08:21:15

JavaNIO編程

2021-01-26 23:46:32

JavaScript數(shù)據(jù)結(jié)構(gòu)前端
點贊
收藏

51CTO技術(shù)棧公眾號