## Summary - move the complete GitBook documentation tree and assets into Builder under `/docs` - generate the exhaustive MCP page from the local CLI source in the same change - publish GitBook from a release-gated `docs` branch containing the exact successfully released revision - run MCP documentation tests, typechecking, and stale-output checks with the existing generated-docs check - remove links to the Community Discussions repository ## Technical choices - Import the current documentation as a linear snapshot so the branch satisfies Builder's required-linear-history protection. - Keep the Markdown wrapper separate from the TypeScript generator at `scripts/docs/mcp-page.md`. - Generate through `packages/cli/local.js` so CLI guidance and its documentation are reviewed together. - Let `check:generated-docs` reject CLI changes that leave the committed MCP page stale. - After both GitHub release creation and package publication succeed, fast-forward the read-only `docs` branch to the immutable release tag commit. A divergent update fails instead of publishing a different revision. - Configure GitBook to publish `/docs` from the `docs` branch, not directly from `main`. - Exclude `/docs` from the repository-wide `oxfmt` scan so imported GitBook Markdown retains its established formatting; generator tests and stale-output checks still validate the MCP page. - Exclude `transcripts/` and GitHub Discussions from the migration. ## Todo - [x] Import documentation, navigation, includes, and assets under `/docs`. - [x] Generate the MCP page from the local CLI source. - [x] Move MCP generation and validation into Builder. - [x] Require MCP documentation updates alongside CLI changes. - [x] Publish released revisions through a read-only `docs` branch. - [x] Remove Community repository links from Builder and the migrated docs. - [x] Preserve and verify a final Community Git bundle locally. - [ ] Merge this pull request. - [ ] Let the next successful release create or advance the `docs` branch. - [ ] Repoint GitBook Git Sync to `webstudio-is/webstudio`, branch `docs`, root directory `/docs`. - [ ] Verify `docs.webstudio.is`, navigation, assets, anchors, and the MCP page in production. - [ ] Delete `webstudio-is/webstudio-community`. ## Verification - `pnpm check:generated-docs` - `pnpm lint` - `pnpm oxfmt --check` - `git diff --check origin/main...HEAD` - generator regression test demonstrated failing when the GitBook wrapper behavior was removed, then passing after restoration - no fixture inputs or outputs are affected ## Known limitation All documentation merged after the previous release waits for the next successful release before GitBook publishes it. This deliberately keeps the public MCP reference aligned with an installable CLI revision. Ref #5986
4.0 KiB
description, icon
| description | icon |
|---|---|
| CSS Transforms enable you to rotate, scale, skew, and translate elements to create dynamic visual effects. | arrows-rotate |
Transforms
CSS Transforms allow you to visually manipulate elements by rotating, scaling, skewing, or moving them. They're powerful for creating interactive effects like hover animations and dynamic layouts.
Accessing Transforms
- Select an instance in the canvas
- Open the Style Panel on the right
- Scroll to the Transforms section (or search for "transform")
- Click the + button to add a transform

The Transforms section in the Style Panel
Transform Properties
Translate
Move an element horizontally (X) or vertically (Y) without affecting the document flow:
- translateX: Move left (negative) or right (positive)
- translateY: Move up (negative) or down (positive)
- translateZ: Move forward/backward (for 3D effects)
Rotate
Spin an element around its center point:
- rotate: 2D rotation (e.g.,
45degrotates 45 degrees clockwise) - rotateX/Y/Z: 3D rotation around specific axes
Scale
Resize an element:
- scaleX: Stretch horizontally
- scaleY: Stretch vertically
- scale: Uniform scaling (1 = original, 2 = double, 0.5 = half)
Skew
Tilt an element:
- skewX: Slant horizontally
- skewY: Slant vertically
Transform Origin
Set the point around which transforms occur (default is center):
- transform-origin: e.g.,
top left,center,50% 50%
Combining Multiple Transforms
You can stack multiple transforms on a single element. Each transform is applied in order, which affects the final result.
Common Use Cases
Card Hover Effect
Create an interactive card that lifts on hover:
- Add a Box element and style it as a card
- Add a subtle
box-shadow - Select the Hover state from the States dropdown
- Add transforms:
translateY: -8px(lift the card)rotate: 2deg(slight tilt)
- Switch back to the default state
- Add a
transitionproperty:transform 0.3s ease
Button Scale Effect
Make buttons feel tactile:
- Select your button
- In the Hover state, add
scale: 1.05 - Add
transition: transform 0.2s easeon the default state
Rotating Icons
Create spinning icons for loading states:
- Select an icon
- Add
rotate: 360degin an animation or hover state
Transforms with Transitions
Transforms are most effective when combined with CSS Transitions for smooth animations:
- Apply the transform on the target state (hover, focus, etc.)
- Apply the transition on the default state
- The transition property should include
transform(e.g.,transition: transform 0.3s ease)
{% hint style="info" %} Tip: For hover effects, always add the transition on the default state, not the hover state. This ensures smooth animation both on hover and when the cursor leaves. {% endhint %}
Z-Index with Transforms
When lifting elements with translateY on hover, you may want them to appear above siblings:
- Set
position: relativeon the element - On hover, increase
z-index(e.g.,z-index: 10)
Performance Considerations
Transforms are GPU-accelerated, making them ideal for animations:
- Prefer
transform: translate()overtop/leftfor movement - Prefer
transform: scale()overwidth/heightfor resizing - These properties don't trigger layout recalculation, resulting in smoother 60fps animations
Related
- Animations – Create scroll-driven and interactive animations
- CSS variables – Define reusable style values
- Animation Group – Container for scroll-driven animations
- Anatomy of the Webstudio builder – Learn about the Style Panel