このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

SVGForeignObjectElement: x プロパティ

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.

xSVGForeignObjectElement インターフェイスの読み取り専用プロパティで、この <foreignObject> 要素の x 軸座標を記述します。これは、<foreignObject> 要素の x 属性の計算値を反映します。

この属性の値は <length><percentage><number> のいずれかです。SVGAnimatedLength.baseVal の値は、ユーザー座標系における <foreignObject> 要素の x 座標です。

SVGAnimatedLength です。

次の SVG があったとします。

html
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <foreignObject id="object1" x="50" y="75" width="100" height="50">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>これは外部オブジェクトです。</p>
      </div>
    </foreignObject>
    <foreignObject id="object2" x="25%" y="50%" width="10%" height="10%">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>これはもう一つの外部オブジェクトです。</p>
      </div>
    </foreignObject>
  </defs>
  <rect x="0" y="0" width="200" height="100" fill="lightblue" />
  <rect x="0" y="100" width="200" height="100" fill="lightgreen" />
</svg>

x 属性の計算値には、次のようにアクセスできます。

js
const foreignObjects = document.querySelectorAll("foreignObject");
const xObject1 = foreignObjects[0].x;
const xObject2 = foreignObjects[1].x;

console.dir(xObject1.baseVal.value); // 出力: 50
console.dir(xObject2.baseVal.value); // 出力: 50 (25% of 200)

仕様書

Specification
Scalable Vector Graphics (SVG) 2
# __svg__SVGForeignObjectElement__x

ブラウザーの互換性

関連情報