aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasahiro FUJIMOTO <mfujimot@gmail.com>2022-03-04 01:39:46 +0900
committerMasahiro FUJIMOTO <mfujimot@gmail.com>2022-03-10 22:58:11 +0900
commitbf11bf08987ab6d1cb98378146b8f84a158418cb (patch)
tree7f4c4cc2dd289fe487a6ac393ae94d6c6ff2eddb
parent176d94d14c9812cf289ea3cffd940e9951414e7d (diff)
downloadtranslated-content-bf11bf08987ab6d1cb98378146b8f84a158418cb.tar.gz
translated-content-bf11bf08987ab6d1cb98378146b8f84a158418cb.tar.bz2
translated-content-bf11bf08987ab6d1cb98378146b8f84a158418cb.zip
2022/01/25 時点の英語版に基づき新規翻訳
-rw-r--r--files/ja/web/api/element/computedstylemap/index.md94
1 files changed, 94 insertions, 0 deletions
diff --git a/files/ja/web/api/element/computedstylemap/index.md b/files/ja/web/api/element/computedstylemap/index.md
new file mode 100644
index 0000000000..17acec435f
--- /dev/null
+++ b/files/ja/web/api/element/computedstylemap/index.md
@@ -0,0 +1,94 @@
+---
+title: Element.computedStyleMap()
+slug: Web/API/Element/computedStyleMap
+tags:
+ - API
+ - CSS Typed Object Model API
+ - Element
+ - 実験的
+ - Houdini
+ - メソッド
+ - リファレンス
+ - StylePropertyMapReadOnly
+ - computedStyleMap()
+browser-compat: api.Element.computedStyleMap
+translation_of: Web/API/Element/computedStyleMap
+---
+{{APIRef("CSS Typed Object Model API")}}{{SeeCompatTable}}
+
+**`computedStyleMap()`** は {{domxref("Element")}} インターフェイスのメソッドであり、 {{domxref("StylePropertyMapReadOnly")}} インターフェイスで {{domxref("CSSStyleDeclaration")}} の代替となる CSS 宣言ブロックの読み取り専用の表現を提供します。
+
+## 構文
+
+```js
+var stylePropertyMapReadOnly = element.computedStyleMap()
+```
+
+### 引数
+
+なし。
+
+### 返値
+
+{{domxref("StylePropertyMapReadOnly")}} インターフェイスです。
+
+## 例
+
+まず、簡単な HTML から始めましょう。リンクのある段落と、すべての CSS プロパティと値の組を追加する定義リストです。
+
+```html
+<p>
+ <a href="https://example.com">Link</a>
+</p>
+<dl id="regurgitation"></dl>
+```
+
+いくらか CSS を追加します。
+
+```css
+a {
+ --color: red;
+ color: var(--color);
+}
+```
+
+JavaScript を追加してリンクを取得し、 `computedStyleMap()` を使用してすべての CSS プロパティ値の定義リストを返します。
+
+```js
+// 要素を取得
+const myElement = document.querySelector('a');
+
+// 入力する <dl> を取得
+const stylesList = document.querySelector('#regurgitation');
+
+// すべての計算済みスタイルを computedStyleMap() で受け取る
+const allComputedStyles = myElement.computedStyleMap();
+
+// すべてのプロパティと値のマップを反復処理し、それぞれに <dt> と <dd> を追加します。
+for (const [prop, val] of allComputedStyles) {
+ // プロパティ
+ const cssProperty = document.createElement('dt');
+ cssProperty.appendChild(document.createTextNode(prop));
+ stylesList.appendChild(cssProperty);
+
+ // 値
+ const cssValue = document.createElement('dd');
+ cssValue.appendChild(document.createTextNode(val));
+ stylesList.appendChild(cssValue);
+}
+```
+
+[`computedStyleMap()` に対応しているブラウザー](#ブラウザーの互換性)では、すべての CSS プロパティと値のリストが表示されます。
+他のブラウザーでは、リンクが表示されるだけです。
+
+{{EmbedLiveSample("Examples", 300, 300)}}
+
+リンクが持つ既定の CSS プロパティがいくつもあることに気づきましたか? '`a`' を '`p`' に更新すると、`margin-top` と `margin-bottom` の既定の計算値の違いに気が付くでしょう。
+
+## 仕様書
+
+{{Specifications}}
+
+## ブラウザーの互換性
+
+{{Compat}}