isolation

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流瀏覽器均已支援。

isolation CSS 屬性決定一個元素是否必須建立一個新的堆疊上下文

試一試

isolation: auto;
isolation: isolate;
<section class="default-example" id="default-example">
  <div class="background-container">
    <div id="example-element">
      <img src="/shared-assets/images/examples/firefox-logo.svg" />
      <p><code>mix-blend-mode: multiply;</code></p>
    </div>
  </div>
</section>
.background-container {
  background-color: #f4f460;
  width: 250px;
}

#example-element {
  border: 1px solid black;
  margin: 2em;
}

#example-element * {
  mix-blend-mode: multiply;
  color: #8245a3;
}

當與 mix-blend-modez-index 結合使用時,此屬性特別有用。

語法

css
/* Keyword values */
isolation: auto;
isolation: isolate;

/* Global values */
isolation: inherit;
isolation: initial;
isolation: revert;
isolation: revert-layer;
isolation: unset;

isolation 屬性被指定為下面列出的關鍵字值之一。

auto

僅當應用於元素的屬性之一需要時,才會建立新的堆疊上下文。

isolate

必須建立一個新的堆疊上下文。

正式定義

初始值auto
應用於所有元素。在 SVG 中,它適用於容器元素、圖形元素和圖形引用元素。
繼承性
計算值同指定值
動畫型別不可動畫化

正式語法

isolation = 
<isolation-mode>

<isolation-mode> =
auto |
isolate

示例

強制為元素建立新的堆疊上下文

HTML

html
<div class="big-square">
  <div class="isolation-auto">
    <div class="small-square">auto</div>
  </div>
  <div class="isolation-isolate">
    <div class="small-square">isolate</div>
  </div>
</div>

CSS

css
.isolation-auto {
  isolation: auto;
}

.isolation-isolate {
  isolation: isolate;
}

.big-square {
  background-color: lime;
  width: 200px;
  height: 210px;
}

.small-square {
  background-color: lime;
  width: 100px;
  height: 100px;
  border: 1px solid black;
  padding: 2px;
  mix-blend-mode: difference;
}

結果

規範

規範
Compositing and Blending Level 2
# isolation

瀏覽器相容性

另見