[英]How to get rid of extra space below svg in div element
這是問題的說明(在 Firefox 和 Chrome 中測試):
<div style="background-color: red;"><svg height="100px" width="100" style="background-color: blue;"></svg></div>
請注意div
中藍色svg
下方的額外red
空間。
已經嘗試將兩個元素的padding
和margin
設置為0
,但沒有成功。
你需要display: block;
在你的svg
。
<svg style="display: block;"></svg>
這是因為行內塊元素(如<svg>
和<img>
)位於文本基線上。 您看到的額外空間是用於容納字符降序的空間('y'、'g' 等的尾部)。
如果您需要保持inline
或inline-block
您也可以使用vertical-align:top
另一種選擇是將font-size: 0
添加到 svg parent。
將 svg 的display
屬性更改為block
。
嘗試將height:100px
添加到div
並在svg
上使用height="100%"
:
<div style="background-color:red;height:100px">
<svg height="100%" width="100" style="background-color:blue;"></svg>
</div>
只需將高度添加到主 div 元素
<div style="background-color: red;height:100px"><svg height="100px" width="100" style="background-color: blue;"></svg></div>
改變你的風格
樣式=“背景顏色:紅色;行高:0;”
如果您在 SVG 上設置高度,並且希望<a>
標簽環繞您的 SVG:
height: fit-content;
到<a>
display: block;
到 SVG display: flex
也可以。 添加display: flex;
在div
元素中。
<div style="background-color: red; display: flex; "><svg height="100px" width="100" style="background-color: blue;"></svg></div>
這是問題的說明(已在Firefox和Chrome中測試):
<div style="background-color: red;"><svg height="100px" width="100" style="background-color: blue;"></svg></div>
請注意div
內藍色svg
下方的額外red
空間。
已經嘗試將兩個元素的padding
和margin
設置為0
,但是沒有運氣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.