修正了SVG高度和可变(100%)宽度

use*_*764 6 html css svg

我正在尝试将svg对象放在我的html页面上,我希望它具有100%的宽度和固定的高度.

在我的小提琴中你可以看到深灰色物体的高度根据窗口比例而变化.(这不是我想要的)

http://jsfiddle.net/Lq207ery/6/

HTML

<body>
<!-- HEADER -->
<header>
    <div class="logo"></div>
    <div class="triangle">
        <svg data-type="vertical_parallax" data-speed="2" x="0px" y="0px" width="410" height="410" viewBox="0 0 310 310" style="-webkit-transform: translate3d(0px, 0px, 0px); transform: translate3d(0px, 0px, 0px);">
            <g>
                <!--<polyline stroke="#222" fill="none" stroke-width="1" points="0,210 0,210 310,0 "></polyline>-->
                <polyline fill="#CC0000" points="0,0 0,200 300,0    "></polyline>
            </g>
        </svg>
    </div>
    <div class="nav">
        <svg width="100%" viewBox="0 0 10 10" preserveAspectRatio="xMinYmin">
            <polygon fill="#222" stroke-width="0" points="0,1.5 0,0 10,0 15,0 " />
        </svg>
    </div>
</header>
<!-- CONTENT -->
Run Code Online (Sandbox Code Playgroud)

CSS

body {
margin: 0;
}
header svg {
    display: block;
    margin: 0;
}
header .triangle {
    z-index: 200;
}
header .logo {
    margin-top: -90px;
}
header .nav {
    position: absolute;
    top:0;
    left:0;
    width:100%;
    z-index:-1;
}
Run Code Online (Sandbox Code Playgroud)

Phr*_*ogz 5

  1. 给您的SVG元素一个固定的高度。如果不这样做,元素的高度将与宽度成比例地变化。
  2. 调整viewBox以裁剪到内容的高度。
  3. 将您的preserveAspectRatio值固定为具有正确的区分大小写的值,例如xMinYMin(不是xMinYmin)。

演示:http//jsfiddle.net/Lq207ery/8/

如果您希望深灰色三角形伸展(不保留其长宽比),请使用preserveAspectRatio="none"

演示:http//jsfiddle.net/Lq207ery/9/