display

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

display 屬性用於控制圖形或容器元素的渲染。

值為 display="none" 表示給定的元素及其子元素將不會被渲染。任何非 noneinherit 的值都表示給定的元素將由瀏覽器渲染。

當應用於容器元素時,將 display 設定為 none 會使容器及其所有子元素都不可見;因此,它作為一個整體來作用於元素組。這意味著,任何 display="none" 元素的子元素即使具有不同於 nonedisplay 值,也不會被渲染。

display 屬性設定為 none 時,給定的元素不會成為渲染樹的一部分。這對 <tspan> 元素、事件處理、邊界框計算以及剪裁路徑計算都有影響。

  • 如果 display<tspan> 元素上設定為 none,那麼文字字串在文字佈局中將被忽略。
  • 關於事件,如果 display 設定為 none,則該元素不接收任何事件。
  • display 設定為 none圖形元素的幾何形狀不包含在邊界框和剪裁路徑計算中。

display 屬性僅影響給定元素的直接渲染,而不會阻止元素被其他元素引用。例如,將其設定為 none<path> 元素將阻止該元素直接渲染到畫布上,但該 <path> 元素仍然可以被 <textPath> 元素引用;此外,即使該 <path>display 值為 none,其幾何形狀也會在路徑文字處理中使用。

此屬性還影響直接渲染到離屏畫布,例如蒙版或剪裁路徑。因此,在 <mask> 的子元素上設定 display="none" 將阻止該子元素作為蒙版的一部分進行渲染。同樣,在 <clipPath> 元素的子元素上設定 display="none" 將阻止該子元素對剪裁路徑做出貢獻。

注意: 作為演示屬性,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 屬性。

規範

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

瀏覽器相容性

另見