html - 对齐多个 SVG 以创建可扩展容器

标签 html css svg alignment

我正在尝试创建一个框,其中包含的内容会根据其大小进行扩展。该框由 3 个 SVG(顶部、中心重复-y、底部)组成。但我无法正确对齐它们。我已经在 Illustrator 中检查了数十次,这些具有相同的大小和线条之间的距离。它应该保持比例并易于对齐。

我创建了一个无法修复的测试用例:

* {
  margin: 0;
  padding: 0;
}
.container {
  width: 400px;
}
img {
  display: block;
}
.top,
.bottom {
  width: 100%;
}
.corpus {
  display: block;
  width: 100%;
  height: 100px;
  background: url('http://f.cl.ly/items/1G3o0j0e1S32301k3y18/corpus.svg');
  background-repeat: repeat-y;
}
<div class="container">
  <div class="top">
    <img src="http://f.cl.ly/items/3m3u3D2p1o0W2e2n1T1B/top.svg">
  </div>
  <div class="corpus"></div>
  <div class="bot">
    <img src="http://f.cl.ly/items/0z0M3u3h1f401u1T351d/bot.svg">
  </div>
</div>

提前致谢。

问候,

最佳答案

SVG 文件具有 viewBox 属性,但没有设置 preserveAspectRatio。如果省略,则 preserveAspectRatio 默认为 xMidYMid。您希望形状变形以适应您分配给它们的空间,但它们不会那样做。

将 preserveAspectRatio="none"添加到 SVG 文件(至少是底部文件)以解决此问题。

关于html - 对齐多个 SVG 以创建可扩展容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36378063/

相关文章:

javascript - 如何在 jQuery 对话框处于事件状态时让背景淡出

javascript - 使 D3 堆叠条形图填充父 SVG 容器

css - SVG 动画不适用于第一次加载 [firefox]

html - 边框半径属性 |在 iPad 上显示不正确,但在 iMAC 上显示不正确

javascript - 如果图像在 jquery 幻灯片中不可用,请将其删除

html - 如何让这个内部div垂直居中? (使用CSS)

javascript - 旋转后如何获得元素的真实宽度和高度?

javascript - 添加 Angular 自定义指令到动态生成的 DOM?

c# - 如何使用隐藏代码合并列中的单元格?

html - 将网站从 mediawiki 转换为纯 HTML