SVGの一部をタイル張りの背景として使用しようとしています。しかし、私はそれが正常に動作するように大きな問題を抱えています。これは私のCSS demonstration pictureCSSの背景にSVGスプライトのタイルを正しく作成するにはどうしたらいいですか?
です:
body {
background: url("tiletest.svg#svgView(viewBox(120 32 150 64))");
background-size: 30px 32px;
}
は、そして、ここで私はデモのために使っているSVGのコードです:
私は絵が最高の問題を説明すると思います
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg height="100" width="360" version="1.1" id="Lager_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 360 100" style="enable-background:new 0 0 360 100;" xml:space="preserve">
<style type="text/css">
.st0{fill:url(#SVGID_1_);}
.st1{fill:#13FF00;}
.st2{fill:#2732FF;}
</style>
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="9.094947e-13" y1="9.094947e-13" x2="100" y2="100">
<stop offset="0" style="stop-color:#E7FF00"/>
<stop offset="1" style="stop-color:#FF0000"/>
</linearGradient>
<rect class="st0" width="100" height="100"/>
</g>
<polygon class="st1" points="174.68,0 190.92,32.92 227.25,38.2 200.96,63.82 207.17,100 174.68,82.92 142.19,100 148.39,63.82
122.11,38.2 158.43,32.92 "/>
<circle class="st2" cx="310" cy="50" r="50"/>
</svg>
SVGの完全なビューボックスは0 0 360 100です。私がCSSでSVGを呼び出すと、120の新しいビューボックスが表示されますそれに応じて背景のサイズを変更することもできます(ただし、ビューボックスで定義されたsvgがサイズに関係なくコンテナを塗りつぶすようになっているので、これは問題ではないと確信しています)。
私は、幅と高さ、preserveAspectRatio属性を持つSVGのビューボックスで手を加えようとしましたが、これまで何も機能していませんでした。私は間違って何をしていますか?
をチェックアウトなどのスペースを削除tiletest.svg#svgView(viewBox(120,32,150,64)) –
あなたはどのブラウザを使用していますか?フラグメント識別子などは、すべてのブラウザで十分にサポートされていません。 – Ruskin