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

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

開發(fā) 前端
SVG 元素用于在SVG中繪制多行文本。不必絕對定位每行文本,該 元素使相對于前一行文本放置一行文本成為可能。該 元素還使用戶可以一次選擇并復(fù)制粘貼幾行文本,而不僅僅是一個text元素。

[[360019]]

 SVG 元素用于在SVG中繪制多行文本。不必絕對定位每行文本,該 元素使相對于前一行文本放置一行文本成為可能。該 元素還使用戶可以一次選擇并復(fù)制粘貼幾行文本,而不僅僅是一個text元素。

一、tspan簡單案例分析

  1. <svg xmlns="http://www.w3.org/2000/svg" 
  2.     xmlns:xlink="http://www.w3.org/1999/xlink"
  3.  
  4.    <text x="20" y="15"
  5.        <tspan>tspan line 1</tspan> 
  6.        <tspan>tspan line 2</tspan> 
  7.    </text> 
  8. </svg> 

運行效果: 

 

注意

結(jié)果如何導(dǎo)致文本行相對于彼此(彼此之后)定位。

二、定位

1. 垂直定位

如果希望將線垂直相對放置,可以使用dy 屬性(delta y)?,F(xiàn)在,由于dy第二個元素的屬性設(shè)置為“ 10” ,因此第二行文本顯示在第一行文本下方10個像素處。

  1. <svg xmlns="http://www.w3.org/2000/svg" 
  2.     xmlns:xlink="http://www.w3.org/1999/xlink"
  3.  
  4.    <text x="20" y="15"
  5.        <tspan>tspan line 1</tspan> 
  6.        <tspan dy="10">tspan line 2</tspan> 
  7.    </text> 
  8. </svg> 

運行效果:


注:

如果要將元素定位 在絕對y位置y ,請像對待元素一樣使用屬性。如果在dy屬性內(nèi)寫入多個數(shù)字,則每個數(shù)字都將應(yīng)用于元素內(nèi)文本的字符。

例:

  1. <svg xmlns="http://www.w3.org/2000/svg" 
  2.     xmlns:xlink="http://www.w3.org/1999/xlink"
  3.        <text x="10" y="15"
  4.            <tspan dy="5 10 20"
  5.               123 
  6.            </tspan> 
  7.        </text> 
  8. </svg> 

運行效果: 


注:

字形之間的垂直間距現(xiàn)在是如何變化的。

2. 水平定位

要將文本相對定位在x軸上,可以使用dx屬性(delta x)。

下面的示例顯示了設(shè)置dx為30 的效果。

例(請注意,現(xiàn)在第二行文本相對于第一行文本的末尾(不是開頭)顯示30個像素)

  1. <svg xmlns="http://www.w3.org/2000/svg" 
  2.     xmlns:xlink="http://www.w3.org/1999/xlink"
  3.  
  4.    <text x="20" y="15"
  5.        <tspan>tspan line 1</tspan> 
  6.        <tspan dx="30" dy="10">tspan line 2</tspan> 
  7.    </text> 
  8. </svg> 

運行效果:


如果在dx屬性內(nèi)指定多個數(shù)字,則每個數(shù)字將應(yīng)用于元素內(nèi)的每個字母。

  1. <svg xmlns="http://www.w3.org/2000/svg" 
  2.     xmlns:xlink="http://www.w3.org/1999/xlink"
  3.  <text x="10" y="20"
  4.    <tspan dx="5 10 20">123</tspan> 
  5.  </text> 
  6. </svg> 

運行效果:

還可以設(shè)置x屬性以固定文本行的x坐標(biāo)。如果要在彼此下方顯示所有未調(diào)整的行的列表,這將很有用。這是一個x在三行中設(shè)置為10 的示例:

示例

  1. <svg xmlns="http://www.w3.org/2000/svg" 
  2.     xmlns:xlink="http://www.w3.org/1999/xlink"
  3.  
  4.    <text y="20"
  5.        <tspan x="10">tspan line 1</tspan> 
  6.        <tspan x="10" dy="15">tspan line 2</tspan> 
  7.        <tspan x="10" dy="15">tspan line 3</tspan> 
  8.    </text> 
  9. </svg> 

運行效果:


三、樣式tspan元素

可以單獨設(shè)置元素樣式。因此,可以使用 元素來設(shè)置文本塊的樣式,以使其不同于其余文本。

  1. <svg xmlns="http://www.w3.org/2000/svg" 
  2.     xmlns:xlink="http://www.w3.org/1999/xlink"><text x="10" y="20"
  3.   Here is a <tspan style="font-weight: bold;">bold</tspan> word. 
  4. </text></svg> 

運行結(jié)果


四、基線偏移的上標(biāo)和下標(biāo)

可以使用baseline-shiftCSS屬性使用元素創(chuàng)建上標(biāo)和下標(biāo) 。

這是一個SVG baseline-shift示例,顯示了如何:

示例

  1. <svg width="500" height="100"
  2.       <text x="10" y="20"
  3.         Here is a text with  
  4.         <tspan style="baseline-shift: super;">superscript</tspan> 
  5.         and <tspan style="baseline-shift: sub;">subscript</tspan> mixed with normal 
  6.         text. 
  7.       </text> 
  8. </svg> 

運行效果:(注意:firefox可能不支持)


五、總結(jié)

本文基于SVG基礎(chǔ),介紹了有關(guān)的元素定位,改變不同的屬性,實現(xiàn)不一樣的位置顯示效果。以及實際項目應(yīng)用中基線偏移的上標(biāo)和下標(biāo)的應(yīng)用。本文運用豐富的效果圖展示,能夠讓讀者更好的理解。

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

代碼很簡單,希望對你學(xué)習(xí)有幫助。

 

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

2020-12-29 09:39:38

元素屬性定位

2021-01-01 09:18:48

SVG圖像元素

2020-12-04 08:40:29

SVG動畫元素

2020-12-08 08:09:49

SVG圖標(biāo)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標(biāo)簽元素

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ù)棧公眾號