--- title: HTMLElement.style slug: Web/API/HTMLElement/style tags: - API - CSSOM - HTMLElement - Property - Reference - Style browser-compat: api.HTMLElement.style translation_of: Web/API/HTMLElement/style ---
style
プロパティは、要素のインラインスタイルと同様に設定したり取得したりするために使用します。取得時は {{domxref("CSSStyleDeclaration")}} オブジェクトで、その要素のインラインの style
属性で定義された属性に割り当てられた値を持つ、その要素のすべてのスタイルプロパティのリストを返します。
style
経由でアクセス可能な CSS プロパティのリストについては、CSS プロパティリファレンスを参照してください。style
プロパティは CSS カスケードで style
属性によるインラインスタイル宣言と同じ (かつ最高の) 優先順位を持ちます。
style = element.style
{{domxref("CSSStyleDeclaration")}} で、次のプロパティを持っています。
this
このプロパティは読み取り専用と考えられていますが、 style
に直接文字列を代入することで、インラインスタイルを設定することができます。この場合、その文字列は {{domxref("CSSStyleDeclaration.cssText")}} に転送されます。この方法で style
を使用すると、その要素のインラインスタイルをすべて完全に上書きします。
したがって、他のスタイルの値を変更せずに要素の特定のスタイルを追加したい場合は、一般に {{domxref("CSSStyleDeclaration")}} オブジェクトの個別のプロパティを設定したほうがうまく行きます。例えば、 element.style.backgroundColor = "red"
のようにします。
スタイル宣言は null
または空文字列を設定することでリセットすることができます。例えば elt.style.color = null
のようにします。
style
プロパティは、要素に適用されているスタイルを完全に知るためには有用ではありません。これは、要素のインラインの style
属性に設定されている CSS 宣言のみを表し、 {{HTMLElement("head")}} セクションのスタイル規則や外部のスタイルシートなど、他の場所のスタイル規則に由来するものを表してはいないからです。要素のすべての CSS プロパティの値を取得するには、代わりに {{domxref("Window.getComputedStyle()")}} を使用する必要があります。
次のコードスニペットは、要素の style
プロパティで取得した値と、getComputedStyle()
で取得した値の違いを実演します。
<!DOCTYPE HTML> <html> <body style="font-weight:bold;"> <div style="color:red" id="myElement">..</div> </body> </html>
var element = document.getElementById("myElement"); var out = ""; var elementStyle = element.style; var computedStyle = window.getComputedStyle(element, null); for (prop in elementStyle) { if (elementStyle.hasOwnProperty(prop)) { out += " " + prop + " = '" + elementStyle[prop] + "' > '" + computedStyle[prop] + "'\n"; } } console.log(out)
出力されるコードは次のようなものです。
... fontWeight = '' > 'bold' color = 'red' > 'rgb(255, 0, 0)' ...
font-weight
のスタイルの計算値に bold
の値がありますが、要素の style
プロパティにはないことに注意してください。
{{Compat}}