如何在不缩放的情况下使此SVG适应视口大小?

时间:2018-03-17 08:28:11

标签: javascript html css svg responsive-design

我终于敢于开始一个小小的第一个项目,我考虑了一些关于全栈开发和一点点设计的课程。

small sketch表示我希望导航的外观。

我面临的问题是,我不知道如何制作SVG路径,强调导航比例,就像我想要的那样(小心电图的东西应该移动而不会被压扁而旁边的线条得到它更小,检查图片,看看我的意思。)

这是SVG代码:

<svg width="1440px" height="63px" viewBox="0 0 1440 63" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49.1 (51147) - http://www.bohemiancoding.com/sketch -->
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
    <g id="Desktop-HD" transform="translate(0.000000, -20.000000)" stroke="#000000">
        <path d="M0,75 L684.996099,75 C686.664718,71.6666667 688.332684,70 690,70 C691.667316,70 693.333982,71.6666667 695,75 L712.215347,75 L715,82.3654775 L720,20 L725,78.2084488 L726.833442,75 L745,75 C748.15577,68.3333333 751.489104,65 755,65 C758.510896,65 761.84423,68.3333333 765,75 L1440,75" id="Path-3"></path>
    </g>
</g>

你们对如何处理这个问题有什么想法吗?

1 个答案:

答案 0 :(得分:1)

正如我在上面评论的那样,你可以保持你的元素具有固定的大宽度并将其置于容器中并使其溢出:

.container {
  display: flex;
  justify-content: center;
  overflow: hidden;
}

svg {
  width: 1440px;
  height: 63px;
}
<div class="container">
  <div>
    <svg width="1440px" height="63px" viewBox="0 0 1440 63" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49.1 (51147) - http://www.bohemiancoding.com/sketch -->
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
    <g id="Desktop-HD" transform="translate(0.000000, -20.000000)" stroke="#000000">
        <path d="M0,75 L684.996099,75 C686.664718,71.6666667 688.332684,70 690,70 C691.667316,70 693.333982,71.6666667 695,75 L712.215347,75 L715,82.3654775 L720,20 L725,78.2084488 L726.833442,75 L745,75 C748.15577,68.3333333 751.489104,65 755,65 C758.510896,65 761.84423,68.3333333 765,75 L1440,75" id="Path-3"></path>
    </g>
</g>
</svg>
  </div>
</div>