touch‑action CSS Playground - Online Gesture Control
Limit browser gestures on an element: pan‑x, pinch‑zoom, manipulation. Draw on a canvas to test. Mobile dev helper.
UD5 Toolkit
transform-origin property defines the pivot point around which a CSS transform (like rotate, scale, or skew) is applied. By default, this point is at the center of the element (50% 50%). Changing it allows you to control where the transformation "anchors" — for example, making an element rotate around its top-left corner instead of its center.
0% 0% refers to the top-left corner, 50% 50% is the center, and 100% 100% is the bottom-right corner. The X-axis runs horizontally (left to right), and the Y-axis runs vertically (top to bottom). You can also use values beyond 0–100% (like -20% or 120%) to place the origin outside the element.
top, bottom, left, right, and center. You can combine them like top left (equivalent to 0% 0%), center right (100% 50%), or bottom center (50% 100%). The default is center center which equals 50% 50%.
transform-origin: center center, an element spins in place like a wheel. Move the origin to top left, and the element swings like a door hinged at that corner. This is especially useful for animations like opening doors, swinging pendulums, or creating orbit effects.
-50% or 150% to position the origin outside the element's bounding box. This creates orbital effects where the element rotates around a distant point, or scales from an external anchor. It's a powerful technique for advanced animations and creative UI effects.
50% 50% (or center center). This means all transformations — rotate, scale, skew — pivot around the exact center of the element unless you specify otherwise. This is the most intuitive default for general use cases.
rotateX(), rotateY(), and perspective(), the transform-origin property accepts a third Z-axis value (e.g., transform-origin: 50% 50% 100px). This controls the depth pivot point, enabling complex 3D animations and parallax effects.
transform-origin on the element before defining @keyframes. The origin remains constant throughout the animation. For dynamic origin changes during animation, you'd need to include transform-origin inside the keyframe steps — though browser support for animating this property is limited. Consider using multiple elements or JavaScript for complex origin-shifting animations.
transform-origin has excellent browser support — it works in all modern browsers including Chrome, Firefox, Safari, Edge, and Opera, as well as IE10+. For mobile, it's supported on iOS Safari and Android Chrome. Just remember to use vendor prefixes (-webkit-, -moz-) if you need to support very old browser versions.
Limit browser gestures on an element: pan‑x, pinch‑zoom, manipulation. Draw on a canvas to test. Mobile dev helper.
Create a looping animated gradient background with multiple color stops. Copy the complete CSS keyframes. Eye‑catching.
Chain multiple CSS filter functions and see the result on an image. Copy the filter string. No upload.
See how `animation‑composition: replace, add, accumulate` works by layering animations on the same property. Understand the spec.
Recreate the target CSS linear gradient by adjusting stops and colors. A unique game for front‑end developers to master gradients.
Load a sprite sheet, define frames, and play an animation on a canvas. Control frame rate and loop. Game dev tool.
Enter a CSS selector and see its specificity broken down into A,B,C columns with a visual weight comparison. Learn specificity.
Paste any iframe embed code (YouTube, maps) and get a responsive wrapper div with correct aspect ratio CSS.
Rotate the hue of any image globally. Turn a red car blue instantly. Download the result. Works entirely in the browser.
Generate an SVG placeholder image with custom text, width, height, and colors. Use as a placeholder service. Pure SVG.
Render 1000 styled elements using inline styles vs. CSS classes and compare time. Understand CSS‑in‑JS trade‑offs.
Fill in a component name and generate a complete Stencil.js component with TSX, CSS, and test files. Quick start.
Preview different touch feedback patterns (scale, color, ripple) for mobile buttons. Copy the CSS and HTML. Improve mobile UX.
Generate a subtle noise/grain texture as a CSS background pattern. Adjust opacity and size. For that film look.
Adjust a brightness threshold slider and see the live vector trace of an image. Export as SVG. Potrace‑style.
Generate a link to an SVG placeholder image with a custom width, height, and text. Use as dummy image src. No server.
Try all object‑fit values (fill, contain, cover, scale‑down) on an image. Adjust object‑position. Copy the CSS.
Apply a blur effect to image background while keeping the subject sharp. Simple brush selection for area to keep sharp. CSS+Canvas implementation, local only.
Select a Node.js version from the LTS list and instantly download a .nvmrc file. Lock your project’s runtime.
Apply real-time CSS filters or canvas effects to a video and download the processed output. Experiment with video post-processing locally.
Generate the doGet() and doPost() boilerplate for a Google Apps Script web app. Ready to paste into the editor.
Generate a subtle or heavy noise/grain texture as a CSS background. Adjust intensity and color. Copy the small code.
Automatically remove white background from an image and make it transparent. Adjust tolerance. Save as PNG.
Generate dynamic placeholder images by specifying width, height, colors, and text. View instantly as a URL you can embed in mockups. Canvas-based.
Generate a random Sudoku puzzle with a unique solution. Choose difficulty and type numbers on the board. Timer and mistake counter.
Answer questions about project type and strength needed to get a joint recommendation. Animations.
Enter a resource name and HTTP method to get a complete Express route handler with try/catch and comments.
Simulate how a palette looks under daylight, tungsten, or fluorescent light. Understand metamerism. For accurate color work.
Create beautiful, syntax-highlighted screenshots of your code snippets. Choose themes and export as PNG. All client-side canvas rendering.
Add a soft vignette to your photo. Control radius, darkness, and feathering. Creates a classic photographic look.