SVG viewport視口和畫布
viewport翻譯成漢語是視口的意思。
當然視口是直譯的結果,更加通俗一點就是觀察事物的視窗。
可能上面的描述還不夠清晰,下面通過一個簡單程式碼進行一下演示。
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> #box{ width:200px; height:100px; border:2px solid red; overflow:scroll } #canvas{ width:1000px; height:83px; background-color: green; } </style> </head> <body> <div id="box"> <div id="canvas">螞蟻部落SVG教程</div> </div> </body> </html>
上面程式碼執行效果截圖如下:
分析如下:
(1).視口就是觀察事物的視窗,如同屋子裡的一扇窗子,通過窗子這個視口觀察外部世界。
(2).在上述程式碼中,可以認為藍綠色的部分就是視口,視口的尺寸通常都是有限的,並不能看到所有的繪製內容,上述程式碼中也做了體現,可以拖動滾動條看到更多內容。
二.畫布:
畫布更容易理解一點,SVG中的畫布基本和實際繪畫中的畫布概念是一致的。
如果說房屋的窗子是視口,通過它可以看到外面的自然世界,那可以認為天地即為畫布。
同樣的道理,上面的程式碼中如果認為box是視口,那麼它的子元素canvas是畫布。
前面提到,視口通常是有限的,通過它只能看到一部分內容,理論上畫布在任何維度上都可以無限延伸。
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> svg { border:1px solid red } </style> </head> <body> <svg x="10" y="10" width="200" height="200"> <rect x="150" y="20" width="100" height="100" fill="blue"/> </svg> </body> </html>
使用<svg>元素就可以建立一個視口,然後就可以在其中進行繪圖。
通過這個視口可以觀察到內部繪製的內容,但是由於視口尺寸有限,可能看不到全部內容。
相關文章
- viewport 視口View
- viewport視口詳解View
- 移動web開發之視口viewportWebView
- 淺談移動端中的視口(viewport)View
- 前端-裝置畫素比和viewport前端View
- 理解SVG中的 viewport,viewBox, preserveAspectRatioSVGView
- svg畫弧SVG
- 深入理解SVG座標體系和transformations- viewport, viewBox,preserveAspectRatioSVGORMView
- 瞭解canvas畫布Canvas
- 商業模式畫布模式
- HTML5 Canvas(畫布)實戰程式設計初級篇:基本介紹和基礎畫布元素HTMLCanvas程式設計
- 畫布就是一切(一)— 畫布程式設計的基本模式程式設計模式
- SVG畫圓形進度條SVG
- Tkinter (03) 畫布部件 CanvasCanvas
- 微信小程式-畫布元件微信小程式元件
- canvas畫布效果程式碼Canvas
- 實現畫布的效果
- html5畫布canvasHTMLCanvas
- HTML5畫布概述HTML
- HTML5畫布: clearRect()HTML
- 你的商業模式畫布畫好了沒?模式
- CSS和canvas標籤設定畫布尺寸區別CSSCanvas
- HTML5的畫布:Stroke(筆觸)和Fill(填充)HTML
- 元件註冊與畫布渲染元件
- 研讀《商業模式畫布》模式
- HTML5的畫布:PathsHTML
- HTML5畫布-小球碰撞HTML
- 向量設計工具PaintCode如何使用標籤和畫布?AI
- 判斷元素是否在視口和元素相交
- 二分鐘瞭解layout viewport、visual viewport、ideal viewportViewIdea
- 漫畫 | 一口氣搞懂 Serverless !Server
- canvas簡單的畫布動畫 - KaiqisanCanvas動畫AI
- Flutter實戰之畫布使用篇Flutter
- HTML5怎樣建立畫布?HTML
- 整理獲取 viewport 和 element 尺寸和位置方法View
- Bootstrap - viewportbootView
- 理解SVG座標系和變換:視窗,viewBox和preserveAspectRatioSVGView
- 畫影圖形: SVG & Canvas 圖形對比SVGCanvas