0
我想讓svg根據屏幕大小顯示不同的圖像,所以較小的設備顯示較小的圖像。舉例來說,如果我想要一個背景圖像覆蓋整個SVG區域,像這樣:自適應svg的背景
<svg viewBox="0 0 1000 700">
<defs>
<style type="text/css">
#theImage {
fill: url('#bg-large');
}
@media screen and (min-width: 401px) and (max-width: 800px) {
#theImage {
fill: url('#bg-small');
}
}
</style>
<pattern id="bg-large" width="100%" height="100%">
<image xlink:href="large.jpg" width="100%" height="100%" />
</pattern>
<pattern id="bg-small" width="100%" height="100%">
<image xlink:href="small.jpg" width="100%" height="100%" />
</pattern>
</defs>
<rect id="theImage" width="100%" height="100%" />
</svg>
它的工作原理,但瀏覽器在任何屏幕尺寸下載兩個圖像。是否有另一個(mabye svg屬性方式,而不是css),使瀏覽器只加載活動屏幕大小所需的圖像?
你可以使用SVG數據或實際的SVG代碼。他們自動執行此操作 –
是否有原因導致您無法將CSS放入樣式表中? –
這只是一個簡單的例子,目標是在SVG文件中包含圖像內容,但是會根據屏幕分辨率(或其他像素比例等媒體差異)加載不同的版本, – henit