我想繪制一個帶有頂部和底部邊框的矩形(作為
我預計
- 沒有缺口
- 頂線與底線的長度相同
- 頂線和底線從渲染影像中的相同 x 位置開始
這意味著,我希望影像看起來像這樣(沒有洋紅色圓圈和綠線)

如何修復我的 SVG 看起來像這樣?這可以通過strokeon完成rect嗎?為什么首先添加缺口/像素?
編輯:我在 Linux 上的 Google Chrome 版本 95.0.4638.69 和 Firefox 94.0 上有這個問題,但這似乎是一個錯誤(見評論)。
uj5u.com熱心網友回復:
這似乎是一個 Firefox 錯誤 - 在 Chrome/Win 中看起來不錯。如果您將 rect 轉換為路徑,則可以正常作業。
<svg viewBox="-64 -24 178 73" xmlns="http://www.w3.org/2000/svg">
<path d="M 0 0 h50 v 25 h-50 v-25" stroke-dasharray="50 25" fill="none"
stroke="black"></path>
<text x="25" y="13" text-anchor="middle" dominant-baseline="central"
font-size="10px" fill="#414141">Database
</text>
</svg>
uj5u.com熱心網友回復:
@MichaelMullany給出了解決方法。(https://stackoverflow.com/a/70054910/1065654)。或者,您可以使用stroke-linecap="square"延長線并覆寫凹口
<svg viewBox="-64 -24 178 73" xmlns="http://www.w3.org/2000/svg">
<rect stroke-dasharray="50 25" width="50" height="25" fill="none"
stroke="black" stroke-linecap="square"></rect>
<text x="25" y="13" text-anchor="middle" dominant-baseline="central"
font-size="10px" fill="#414141">Database
</text>
</svg>
在 Linux 上使用 Google Chrome 版本 95.0.4638.69 進行測驗。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/372626.html
標籤:svg 笔画-dasharray
