重点
svg节点属性设置width、height均为100%,preserveAspectRatio属性设置为none,即可实现铺满、不保持原svg比例。
如果想要svg固定高度,可设置svg的height属性为固定值,如:30
上代码
注意:代码中三个svg节点,内容一致。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div style="
padding: 10px;
width: 100%;
height: 100px;
box-sizing: border-box;
position: relative;
">
<svg viewBox="0 0 600 30" width="100%" height="100%" preserveAspectRatio="none"
xmlns="http://www.w3.org/2000/svg">
<path d="M0 0 L150 0 L120 30 L0 30 Z" style="fill: #409eff" />
<path d="M150 0 L150 15 L135 15 Z" style="fill: #0034b5" />
<path d="M135 15 L120 30 L585 30 L600 15Z" style="fill: #f1f2f5" />
<path d="M150 7 L600 7" style="stroke: #409eff" stroke-dasharray="3" stroke-width="2" />
</svg>
</div>
<div style="
padding: 10px;
width: 50%;
height: 60px;
box-sizing: border-box;
position: relative;
">
<svg viewBox="0 0 600 30" width="100%" height="100%" preserveAspectRatio="none"
xmlns="http://www.w3.org/2000/svg">
<path d="M0 0 L150 0 L120 30 L0 30 Z" style="fill: #409eff" />
<path d="M150 0 L150 15 L135 15 Z" style="fill: #0034b5" />
<path d="M135 15 L120 30 L585 30 L600 15Z" style="fill: #f1f2f5" />
<path d="M150 7 L600 7" style="stroke: #409eff" stroke-dasharray="3" stroke-width="2" />
</svg>
</div>
<div style="
padding: 10px;
width: 30%;
height: 40px;
box-sizing: border-box;
position: relative;
">
<svg viewBox="0 0 600 30" width="100%" height="100%" preserveAspectRatio="none"
xmlns="http://www.w3.org/2000/svg">
<path d="M0 0 L150 0 L120 30 L0 30 Z" style="fill: #409eff" />
<path d="M150 0 L150 15 L135 15 Z" style="fill: #0034b5" />
<path d="M135 15 L120 30 L585 30 L600 15Z" style="fill: #f1f2f5" />
<path d="M150 7 L600 7" style="stroke: #409eff" stroke-dasharray="3" stroke-width="2" />
</svg>
</div>
</body>
</html>
效果


1879

被折叠的 条评论
为什么被折叠?



