[css-transforms-2] proposal: new "transform: bend();" function
Nobody has claimed this yet.
- Dominant language
- Bikeshed
- Stars
- 4.9k
- Forks
- 816
- PR merge metrics
- PR metrics pending
Description
The transform property has several functions that allow elements to be transformed in two-dimensional or three-dimensional space.
This proposal aims to add a new native CSS function that let you bend elements, using the following syntax:
.element {
transform: bend();
}
Formal syntax:
bendX( [ <angle> | <zero> ] )
bendY( [ <angle> | <zero> ] )
bendZ( [ <angle> | <zero> ] )
This concept transformations by stretching & shrinking the element from its four corners. The 2D transform (bendX() & bendY()) will bend the element on the same plane. The 3D transform (or bendZ()) will bend the element to a cylinder - the two top corners and the two bottom corners will be bent back to create a cylinder.

The illustration covers positive and negative values. It covers X, Y and Z plane.
Simple example: https://codepen.io/team/amcharts/pen/gZOLGM?editors=0010
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the CSS Transforms 2 three-dimensional transform functions section and the linked CodePen example, then compare the proposed bendX(), bendY(), and bendZ() syntax with existing transform functions. Done would require a resolved CSSWG proposal or specification for the 2D and cylindrical 3D behavior; this issue names no implementation files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- css
- Domain
- design, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100