我有以下SVG:響應SVG漿紗
body {
background-color: #dad9c7;
svg {
position: absolute;
width: 100%;
height: 400px;
margin: 0 auto;
display: block;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
。
<svg viewBox="0 0 1000 1000" xmlns="http://www.w3.org/2000/svg" version="1.1">
<g>
<rect width="1000" height="151" x="0" y="0" fill="#d5835b" />
<rect width="1000" height="151" x="0" y="150" fill="#d47966" />
<rect width="1000" height="126" x="0" y="300" fill="#b66961" />
<rect width="1000" height="101" x="0" y="425" fill="#d17385" />
<rect width="1000" height="101" x="0" y="525" fill="#aa617c" />
<rect width="1000" height="101" x="0" y="625" fill="#a36d8f" />
<rect width="1000" height="101" x="0" y="725" fill="#736d87" />
<rect width="1000" height="176" x="0" y="825" fill="#313d53" />
</g>
</svg>
,看起來像這樣:
我怎會以下?
- 縮放窗口(不縮放)時保持彩色條的高度相同。
- 將左右兩側的顏色條水平拉伸到視口邊緣。
- 將最頂部的矩形拉伸到屏幕的頂部,以使視口的上三分之一爲橙色,並將最底部的矩形拉伸到視口的底部,以使視口的下三分之一爲紫色。
- 始終保持垂直居中的「正方形」已經與CSS一起工作,但SVG被操縱來解決將不得不考慮這一點。
下面是一個如何顯示的例子:當窗口變高時,彩色矩形將停留在中間,但頂部橙色和底部紫色將根據視口的高度截斷。
Plus1令人難以置信的複雜! – philipp