2017-08-29 253 views
0

我試圖讓400%我的SVG佔用的屏幕寬度和高度的400%,所以我可以移動它來改變梯度:SVG佔用屏幕尺寸

SVG

html, body { 
 
    margin:0; 
 
    padding:0; 
 
    overflow:hidden; 
 
} 
 
svg { 
 
    position:fixed; 
 
    top:0; 
 
    bottom:0; 
 
    left:0; 
 
    right:0; 
 
    height: 400%; 
 
    width: 400%; 
 
}
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 
 

 
    <defs> 
 
    <linearGradient id="LinearGradient" x1="0%" y1="0%" x2="100%" y2="100%" spreadMethod="pad" gradientTransform="rotate(45)"> 
 
     <stop offset="0%" stop-color="#00cc00" stop-opacity="1" /> 
 
     <stop offset="100%" stop-color="#006600" stop-opacity="1" /> 
 
    </linearGradient> 
 
    </defs> 
 

 
    <rect x="0" y="0" width="100%" height="100%" style="fill:url(#LinearGradient);" /> 
 

 
</svg>

但是,這甚至不能填滿100%的屏幕,但單獨400%!

回答

2

只需在svg:not(:root)內添加您的SVG CSS。檢查更新摘錄如下

html, body { 
 
    margin:0; 
 
    padding:0; 
 
    height: 100%; 
 
} 
 
/*svg { 
 
    position:fixed; 
 
    top:0; 
 
    bottom:0; 
 
    left:0; 
 
    right:0; 
 
    height: 400%; 
 
    width: 400%; 
 
}*/ 
 
svg:not(:root) { 
 
    width: 400%; 
 
    height: 400%; 
 
}
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 
 

 
    <defs> 
 
    <linearGradient id="LinearGradient" x1="0%" y1="0%" x2="100%" y2="100%" spreadMethod="pad" gradientTransform="rotate(45)"> 
 
     <stop offset="0%" stop-color="#00cc00" stop-opacity="1" /> 
 
     <stop offset="100%" stop-color="#006600" stop-opacity="1" /> 
 
    </linearGradient> 
 
    </defs> 
 

 
    <rect x="0" y="0" width="100%" height="100%" style="fill:url(#LinearGradient);" /> 
 

 
</svg>

+0

非常感謝你。 – Jimmy