响应svg没有在野生动物园获得全宽

时间:2014-06-19 09:09:55

标签: html css svg safari

我有一个svg应该是100%宽度的身体,它适用于ie11,chrome和firefox - 但在safari中,svg两侧有一些空间,我无法摆脱它。任何帮助表示赞赏 - 请看这里的小提琴: http://jsfiddle.net/tbbtester/2apEh/

css:

body{margin:0;padding:0;background:orange;}
.top {position: absolute;width: 100%;}
.inner{height:0;position: relative;padding-top:3.2%;}
svg{height: 100%;display:block;width: 100%;position: absolute;top:0;left:0;}
rect{stroke:none;fill:teal;}

标记:

    <div class="top">
        <div class="inner">
            <svg viewBox='0 0 100 3.2' preserveAspectRatio="xMidYMid meet">
                <rect x="0" y="0" height="3.2" width="100"/>
            </svg>
        </div>
    </div>

2 个答案:

答案 0 :(得分:3)

关于这个

Previous SO question

似乎这个

preserveAspectRatio="xMidYMid meet"

是问题。

如果您将其更改为

preserveAspectRatio="none"

问题解决了

JSfiddle Demo

答案 1 :(得分:0)

preserveAspectRatio属性可以包含3种不同的值meet slice none。查看 DEMO

所以,如果你使用

<svg viewBox='0 0 100 3.2' preserveAspectRatio="xMidYMid none">

而不是

<svg viewBox='0 0 100 3.2' preserveAspectRatio="xMidYMid meet">

你的问题可能会解决。