- 背景
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div style="background-color: #000">
<svg width="100%" height="754" preserveAspectRatio="xMidYMid" viewBox="0 0 1266 754">
<rect width="100%" height="754"
style="fill:#fff;"/>
</svg>
</div>
</body>
</html>
- 现象
- 原因
SVG主要有3种使用场景
1、作为背景图片使用
2、src引入,作为图片使用
3、直接在标签中使用(内联SVG)
在第3中使用方式中,SVG元素是一个inline类型的标签,浏览器会为标签之间的换行和空格,生成一个看不见的空文本节点,这个空的文本节点占据了位置,增加了一个看不见的高度。
- 解决方式
1、负边距消除 (margin-bottom: -4px;)
2、改成块级标签(display: block; float等)