display

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

display 属性は、グラフィック要素またはコンテナー要素のレンダリングを制御します。

display="none" の値は、指定された要素とその子要素がレンダリングされないことを示します。 none または inherit 以外の値は、指定された要素がブラウザーによってレンダリングされることを示します。

コンテナー要素に適用された場合、displaynone に設定すると、コンテナーとそのすべての子要素が不可視となります。つまり、要素のグループに対してグループとして作用します。すなわち、 display="none" を持つ要素の子要素は、たとえその子要素の display 値が none 以外であっても、まったくレンダリングされないということです。

display 属性を none に設定すると、指定された要素はレンダリングツリーに属さなくなります。これは、 <tspan> 要素、 <tref> 要素、イベント処理、境界ボックスの計算、クリッピングパスの計算に影響します。

  • displaynone に設定された <tspan> または <tref> 要素では、テキスト文字列はテキストレイアウトの目的では無視されます。
  • イベントに関しては、 displaynone に設定された場合、その要素はイベントを受け取らなくなります。
  • グラフィック要素displaynone に設定したときの形状は、境界ボックスやクリッピングパスの計算には含まれません。

display 属性は指定された要素の直接レンダリングにのみ影響し、他の要素から参照されることを防ぐことはできません。例えば、 <path> 要素に none を設定すると、その要素がキャンバスで直接レンダリングされるのを防ぐことができますが、 <path> 要素は引き続き <textPath> 要素から参照することができます。さらに、 <path>display 属性の値として none が設定されていても、その形状はパス上のテキスト処理で使用することができます。

この属性は、マスクやクリップパスで発生するような、オフスクリーンのキャンバスへの直接レンダリングにも影響します。したがって、 display="none"<mask> の子要素に設定すると、指定された子要素がマスクの一部としてレンダリングされるのを防ぐことができます。同様に、 display="none"<clipPath> の子要素に設定すると、指定された子要素がクリッピングパスに寄与するのを防ぐことができます。

メモ: プレゼンテーション属性であるため、 display には対応する CSS プロパティ display があります。両方が指定された場合、 CSS プロパティが優先されます。

この属性は以下の SVG 要素で使用できます。

html
<svg viewBox="0 0 220 100" xmlns="http://www.w3.org/2000/svg">
  <!-- Here the yellow rectangle is displayed -->
  <rect x="0" y="0" width="100" height="100" fill="skyblue"></rect>
  <rect x="20" y="20" width="60" height="60" fill="yellow"></rect>

  <!-- Here the yellow rectangle is not displayed -->
  <rect x="120" y="0" width="100" height="100" fill="skyblue"></rect>
  <rect
    x="140"
    y="20"
    width="60"
    height="60"
    fill="yellow"
    display="none"></rect>
</svg>

使用上のメモ

既定値 inline
display を参照
アニメーション

値の説明は、 CSS の display プロパティを参照してください。

仕様書

Specification
CSS Display Module Level 3
# the-display-properties
Scalable Vector Graphics (SVG) 2
# VisibilityControl

ブラウザーの互換性

関連情報