SVG 設定線條樣式
線條雖然簡單,但總歸還是要修飾的,畢竟它是圖案的構成基礎之一。
根據需要進行必要的修飾也是常見的操作,設定線條外觀的屬性有很多。
下面對常見的幾個屬性通過程式碼例項進行一下演示。
一.設定線條顏色與粗細:
通過stroke屬性可以設定線條的顏色,程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> * { margin: 0px; padding: 0px; } svg { border:1px dotted #ccc; margin:50px; } </style> </head> <body> <svg width="220" height="80" > <line x1="0" y1="0" x2="200" y2="60" stroke-width=1 stroke="red"/> </svg> </body> </html>
通過stroke-width屬性設定線條的粗細,而stroke屬性可以設定顏色。
stroke屬性值不僅僅是顏色,還可以是圖案、漸變等。
更多內容參閱SVG 填充、描邊和透明度一章節。
二.設定描邊連線處風格:
線條總有相接的時候,就和人總有相逢一個道理。
相逢的感情有不同,比如冷漠、熱烈或者歡快,線條相接也是如此。
有時候尖銳,有時候平滑,通過stroke-linejoin屬性即可實現設定。
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> </head> <body> <svg width="300" height="300" > <polyline points="40 60 80 20 120 60" stroke="black" stroke-width="20" fill="transparent" stroke-linejoin="miter" /> <polyline points="40 140 80 100 120 140" stroke="black" stroke-width="20" fill="transparent" stroke-linejoin="round" /> <polyline points="40 220 80 180 120 220" stroke="black" stroke-width="20" fill="transparent" stroke-linejoin="bevel" /> </svg> </body> </html>
程式碼執行效果截圖如下:
stroke-linejoin屬性的三個屬性值分別對應三種不同的效果。
三.設定直線兩端的風格:
預設狀態下,直線的兩端是平直的,使用stroke-linecap屬性可以進行簡單的修飾。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> </head> <body> <svg width="300" height="300" > <line x1="20" y1="20" x2="160" y2="20" stroke="black" stroke-width="20" stroke-linecap="butt"/> <line x1="20" y1="50" x2="160" y2="50" stroke="black" stroke-width="20" stroke-linecap="round" /> <line x1="20" y1="80" x2="160" y2="80" stroke="black" stroke-width="20" stroke-linecap="square"/> </svg> </body> </html>
程式碼執行效果截圖如下:
stroke-linecap三個屬性值解析如下:
(1).butt:預設值,直線的兩側是平直的。
(2).square:直線的兩端同樣是平直的,好像與butt沒區別,其實多了一塊。
(3).round:直線兩端是圓潤的帽形,當然尺寸也增加。
增加的尺寸也是有講究的,尺寸是線條寬度的一半,也就是stroke-width屬性值的一半。
四.設定最大斜接長度:
斜接長度指的是在兩條描邊交匯處內角和外角之間的距離。
圖示如下:
斜接長度長度就是黃色區域的尺寸。
使用stroke-miterlimit屬性可以實現設定斜接最大尺寸的功能,程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> </head> <body> <svg width="300" height="300" > <polyline points="40 60 80 20 120 60" stroke="black" stroke-width="20" fill="transparent" stroke-linejoin="miter" stroke-miterlimit="2"/> </svg> </body> </html>
特別強調一點,stroke-miterlimit必須和stroke-linejoin="miter"配合使用採有效。
從兩個屬性的名稱也可以猜測到這一點,程式碼執行效果截圖如下:
上述程式碼設定stroke-miterlimit屬性值為2(很小的一個值),但是斜接的尺寸挺大的(應該遠大於2px),但是為什麼整個斜接能完整顯示呢。這裡一定要特別注意了,stroke-miterlimit屬性值這個數字的單位不是畫素,而是相對stroke-width屬性值的一個倍數,所以上述程式碼實際設定的斜接最大2*20=40,如果斜接尺寸超出的部分將會被裁切。
五.設定虛線與偏移:
還可以設定線條的虛線與偏移效果,考慮到文章的篇幅問題,本文不做介紹。
具體參閱如下兩篇文章:
(1).設定虛線具體參閱SVG stroke-dasharray虛線邊框一章節。
(2).設定虛線邊框偏移量具體參閱SVG stroke-dashoffset邊框偏移一章節。
相關文章
- canvas 設定線條的樣式Canvas
- CSS 設定svg元素樣式CSSSVG
- vxe-table 設定斑馬線條紋樣式
- echarts 設定X軸最底部那條線的樣式Echarts
- CSS設定連線<a>的樣式CSS
- vue專案中使用svg並設定大小顏色等樣式VueSVG
- 流動的SVG線條SVG
- svg 線條動畫淺嘗SVG動畫
- echarts設定多條折線不是你想的那樣簡單Echarts
- HTML5畫布如何設定線的樣式?HTML
- canvas 設定矩形樣式Canvas
- CSS 設定 <progress>樣式CSS
- CSS 設定列表樣式CSS
- CSS 設定文字樣式CSS
- QSpinBox樣式表設定
- QMenu setStyleSheet樣式設定
- canvas—元素樣式設定Canvas
- cad標註樣式設定引數 怎麼設定cad標註樣式
- 【Android】設定 LinearLayout 的樣式Android
- CSS 設定placeholder文字樣式CSS
- CSS 設定table表格樣式CSS
- CSS 設定連結樣式CSS
- iOS UISearchController樣式全面設定iOSUIController
- QTableWidget 設定列寬樣式QT
- Hype如何設定字型樣式
- ECharts 樣式設定介紹Echarts
- CSS 設定<img>圖片樣式CSS
- QFileDialog自定義樣式設定SetStytlesheet
- easyExcel多行表頭設定不同樣式和特定單元格設定樣式的實現Excel
- css實現修改預設滾動條樣式CSS
- EasyExcel為單個Cell設定樣式Excel
- CSS設定半個文字的樣式CSS
- Word設定樣式快捷鍵(轉載)
- PyQT5視窗樣式設定QT
- svg 圖示設定背景顏色SVG
- 線上SVG轉換,支援SVG to PNG、SVG to JPEG、SVG to WEBP 圖片轉換操作-toolfk程式設計師線上工具網SVGWeb程式設計師
- cad點樣式快捷鍵命令大全 cad點樣式怎麼設定
- qt中設定tab樣式為箭頭QT