<div style="float: left; padding: 10px; border: 1px solid;
background: #ccc">random text</div>
SVGでこのようなことを達成する方法はありますか? 私は長方形とテキストを持っていることを意味します:
a) 長方形の幅と高さは動的であるため、テキストを変更すると、長方形のサイズが調整されます
b) 長方形を移動すると、テキストも一緒に移動します
でこのようなことを達成するのは簡単でしょう<canvas>
か?
編集:
<defs>
<text id="text1" x="90" y="100" style="text-anchor:start;font-size:30px;">
THIS IS MY HEADER</text>
</defs>
<filter x="0" y="0" width="1" height="1" id="background">
<feFlood flood-color="gray"/>
<feComposite in="SourceGraphic"/>
</filter>
<use xlink:href="#text1" fill="black" filter="url(#background)"/>
Erik Dahlström は次のような提案をしました。背景にパディングを配置する方法、追加する方法など。四角形への影または境界線?そして、これは IE9 では動作しないため、受け入れられません。<foreignObject>
IEでサポートされていれば使えます。
そして、私の質問のb)ポイントの答えを見つけました。両方の要素をグループに入れる必要があります:
<g>
<rect x="0" y="0" width="100" height="100" fill="red"></rect>
<text x="50" y="50" font-size="14" fill="blue" text-anchor="middle">Hello</text>
</g>
transform
次に、 paramを使用してグループを移動できます。
<g transform="translate(x, y)">
すべてのブラウザで正しく動作するようです。