Zoom Property

Last updated: 2026-09-13

zoom Zoom Property

The zoom property applies a non-standard scaling transform, enlarging or shrinking an element and all of its children proportionally. Unlike transform: scale(), zoom affects the element's layout space — it occupies the scaled actual space — and triggers a full reflow. Although it is not standard CSS, browser support is widespread.

Category
Initial Valuenormal
InheritedNo
Applies To
Animation Type
CSS VersionCSS3
StatusStandard

📝 Syntax

zoom: normal | reset | <number> | <percentage>;

⚙️ Values

ValueTypeDescription
normal | resetKeywordPreset values
<number> | <percentage>TypeThe zoom factor

▶ Example

Edit the code below and see the live result in the playground:

🌐 Browser Support

Browser ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
zoom v10 v12 v1 v1 v1
Supported in all major browsers
Warning: zoom is non-standard and not in the CSS specification. Firefox does not support it (old versions not at all; newer versions only behind the layout.css.zoom.enabled flag).
Tip: For a standard, well-supported scaling effect, use transform: scale(); zoom suits quick prototypes or internal projects.

❓ FAQ

QWhat is the difference between the zoom property and transform: scale()?
Azoom changes the element's actual occupied space and layout size in the document flow, affecting surrounding elements — equivalent to reflowing. transform: scale() only changes the visual size and keeps the layout space. zoom's scaling also affects the rendered size of children (overall pixel enlargement) and triggers a full reflow. For cross-browser consistency, transform: scale() is more reliable.
QWhat does the reset value of the zoom property actually mean in CSS?
Areset is a non-standard value introduced by Safari, meaning reset the zoom, equivalent to zoom: 1 but preventing an inherited zoom value from continuing to affect the element. The default normal means the zoom matches the page zoom set by the user (equivalent to 1). reset has limited use cases and its support is mostly in WebKit engines — test across browsers.
QHow well is the zoom property supported and does Firefox support it?
Azoom was historically a non-standard IE/WebKit property; Chrome, Edge, and Safari support it well. Firefox only enabled it by default in version 126 (2024). Although it is starting to enter the CSS Viewport specification, it remains a de facto standard. For cross-browser scaling in production, prefer the standard transform: scale().
QDoes the CSS zoom property affect rendering performance on the page?
AYes. zoom changes layout dimensions, so scaling triggers reflow and repaint, and animation performance is clearly worse than transform: scale(). zoom suits one-off scaling of a page or component (like scaling the whole layout to fit), not frame-by-frame animation. For animated scaling, prefer transform: scale(); use zoom when you genuinely need a real layout-size change.

📚 Related Tutorials

Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏