Element Resize Detector - Online Monitor Size Changes
Select any element on the test page and monitor its size changes with ResizeObserver. See log of all entries.
UD5 Toolkit
resize Property Demo
Interactive tool to explore how resize works with overflow, writing-mode, and size constraints.
Drag the handle ↘ at the bottom‑right corner to resize this element.
The resize CSS property
controls which directions are allowed.
Try different settings below to see how overflow and writing-mode affect behavior.
resize property controls whether and how an element can be resized by the user. It applies to block-level elements and replaced elements (like <textarea>) whose overflow is not visible. Values include none, both, horizontal, vertical, block, and inline. The resize handle appears at the bottom‑right corner by default in LTR layouts.
resize property only takes effect when overflow is not visible (the default). This is because resizing changes the element's dimensions, and the browser needs a defined overflow behavior to handle content that may no longer fit. Use overflow: auto, overflow: scroll, or overflow: hidden to enable resizing.
block restricts resizing to the block flow direction, and inline restricts it to the inline direction. These directions depend on the element's writing-mode. With default writing-mode: horizontal-tb, block ≈ vertical and inline ≈ horizontal. With writing-mode: vertical-rl, block becomes horizontal and inline becomes vertical. Try the presets above to see this in action!
resize: none to the textarea. This is one of the most common real‑world uses of the resize property — many developers disable textarea resizing to maintain a consistent layout. You can also use resize: vertical to allow height adjustments only, which is useful for comment boxes.
::-webkit-resizer pseudo‑element to style the handle. However, this is non‑standard and not supported in Firefox. For cross‑browser custom resize handles, consider using JavaScript‑based solutions with custom UI elements instead of relying on the native resize property.
min-width, max-width, min-height, and max-height constraints during resize operations. The user cannot drag the element beyond these boundaries. This is useful for preventing an element from becoming too small to be usable or too large to fit the layout. Adjust the constraint values in the controls above to test this behavior.
resize handles are rendered by the browser and tend to be quite small — often too small for comfortable touch interaction on mobile devices. While the property technically works on mobile, the user experience can be frustrating. For mobile‑first designs, consider providing alternative sizing controls (like buttons or sliders) or using a JavaScript‑based custom resize implementation with larger touch targets.
block and inline values were introduced later and are supported in Chrome 118+, Firefox 119+, Safari 17+, and Edge 118+ (all released in late 2023). Older browsers will treat them as resize: none (no resizing). For broad compatibility, stick with both, horizontal, vertical, or none. Check caniuse.com for up‑to‑date support data.
Select any element on the test page and monitor its size changes with ResizeObserver. See log of all entries.
Drag to resize a box and see the Resize Observer callback fire. Get contentRect and borderBoxSize. Learn the API.
Explore the size‑container and inline‑size CSS properties for container queries. Understand containment contexts. Visual guide.
Design a layout where nested grids share track sizes with their parent via subgrid. Copy the complete CSS.
Create a pure CSS scroll progress indicator using animation‑timeline: scroll(). No JavaScript. Copy the complete code.
Enlarge pixel art or low‑res images without blur. Choose 2x, 4x, 8x. Perfect for sprites. Download scaled PNG.
Paste your CSS and see warnings for properties that have limited browser support. Links to CanIUse. Modernize safely.
Query the permission state of camera, microphone, geolocation, and more. See the response and learn the API.
Acquire and release locks across tabs. Prevent race conditions in IndexedDB or localStorage. Visual queue and lock state.
Test the Fullscreen API: request fullscreen on a colored div, detect changes, and copy the JavaScript boilerplate.
Create complex linear gradients with any number of color stops, exact angles, and length units. Live preview and CSS code.
Style underlines, overlines, and strike-throughs with colors, wavy styles, and thickness. Modern CSS text‑decoration.
Design a button or card that glows on hover. Adjust shadow color, spread, and transition. Copy the CSS. Rich UI.
Create a realistic letterpress (debossed) text effect using CSS text‑shadow and background. Adjust depth and light direction. Copy code.
Generate a subtle noise/grain texture as a CSS background pattern. Adjust opacity and size. For that film look.
Create a customizable checkerboard or grid background using pure CSS gradients. Adjust cell size and colors. Copy the code.
Upload two images and apply CSS blend modes (multiply, screen, overlay, etc.). See the result and copy the filter CSS. Pure frontend.
Create a pure CSS countdown timer with a flipping number effect. Adjust duration and style. No JavaScript needed for display.
Create a glowing or rotating border animation around an element. Copy the CSS keyframes. Pure CSS magic.
Create a custom HTML/CSS progress bar with percentage, colors, and animation. Copy the code. Modern UI element.
Design a realistic neon sign text with multiple layers of glow. Copy the CSS and HTML. Perfect for headers.
A replica of the famous Flexbox Froggy game: solve alignment puzzles by writing CSS. Progress saved locally. Fun frontend learning.
Fetch a website's CSS and extract :root custom properties (‑‑color) to reveal its design token palette. For learning and inspiration.
Find safe mixing ratios for the classic elephant toothpaste demonstration. Volume adjustments for different container sizes.
Recreate the target CSS linear gradient by adjusting stops and colors. A unique game for front‑end developers to master gradients.
Browse and search all Font Awesome 6 icons with preview, class name, and unicode. Copy the HTML snippet. Perfect for web developers.
Create text with a gradient fill using CSS background-clip. Configure colors and direction. Copy the code. Works in modern browsers.
A complete, searchable list of all 140+ named HTML/CSS colors with their hex codes and color previews. Click to copy code. Essential web reference.
Visually experiment with Flexbox container and item properties. See the layout update in real time and copy the CSS. Learn by doing, fully interactive.
Minify JavaScript and CSS code to reduce file size for production. Remove whitespace and comments instantly. Run locally, your code stays private.