zoom

非標準: この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

zoomCSS の標準外のプロパティで、要素の拡大率を制御するために使用することができます。できれば、このプロパティの代わりに transform: scale() を使用してください。ただし、 CSS 座標変換とは異なり、 zoom は要素のレイアウト時の大きさに影響します。

css
/* キーワード値 */
zoom: normal;
zoom: reset;

/* <percentage> 値 */
zoom: 50%;
zoom: 200%;

/* <number> 値 */
zoom: 1.1;
zoom: 0.7;

/* グローバル値 */
zoom: inherit;
zoom: initial;
zoom: unset;

構文

normal

要素を通常のサイズでレンダリングします。

reset Non-standard

ユーザーが非ピンチベースのズームを利用したときは (たとえばキーボードで Ctrl-- または Ctrl++ のショートカット) 要素を拡大しない。 WebKit (とおそらく Blink) のみ対応しています。

<percentage>

ズーム率です。 100%normal は等価です。 100% よりも大きな値はズームイン、 100%よりも小さな値はズームアウトします。

<number>

ズーム率です。対応するパーセンテージ (1.0 = 100% = normal) に相当します。 1.0 よりも大きな値はズームイン、 1.0 よりも小さな値はズームアウトします。

公式定義

初期値normal
適用対象すべての要素
継承なし
計算値指定通り
アニメーションの種類integer

形式文法

zoom = 
<number [0,∞]> ||
<percentage [0,∞]>

最初の例

HTML

html
<p class="small">Small</p>
<p class="normal">Normal</p>
<p class="big">Big</p>

CSS

css
p.small {
  zoom: 75%;
}
p.normal {
  zoom: normal;
}
p.big {
  zoom: 2.5;
}
p {
  display: inline-block;
}
p:hover {
  zoom: reset;
}

結果

2 番目の例

HTML

html
<div id="a" class="circle"></div>
<div id="b" class="circle"></div>
<div id="c" class="circle"></div>

CSS

css
div.circle {
  width: 25px;
  height: 25px;
  border-radius: 100%;
  text-align: center;
  vertical-align: middle;
  display: inline-block;
  zoom: 1.5;
}
div#a {
  background-color: gold;
  zoom: normal;
}
div#b {
  background-color: green;
  zoom: 200%;
}
div#c {
  background-color: blue;
  zoom: 2.9;
}

結果

仕様書

標準には含まれていません。このプロパティは Internet Explorer を起源としています。 Apple は Safari CSS Referenceで説明しています。マイクロソフトの Rossen Atanassov は GitHub に非公式の仕様案を公開しています

ブラウザーの互換性

BCD tables only load in the browser

関連情報