Table of Contents
1 transform attribute" >1 transform attribute
2 Rotate " >2 Rotate
3 Zoom " >3 Zoom
4 Tilt " >4 Tilt
5 Move" >5 Move
6 Use multiple deformation methods for an element" >6 Use multiple deformation methods for an element
7 Specify the base point of deformation" >7 Specify the base point of deformation
transform-origin attribute
8 3D deformation function" >8 3D deformation function
9 Transformation Matrix" >9 Transformation Matrix
Home Web Front-end CSS Tutorial 4 functions implemented by the transform attribute in CSS3 (rotation, scaling, tilting, and moving)

4 functions implemented by the transform attribute in CSS3 (rotation, scaling, tilting, and moving)

Aug 24, 2018 am 10:13 AM
transform attribute

What this article brings to you is about the four functions (rotation, scaling, tilt, and movement) implemented by the transform attribute in CSS3. It has certain reference value. Friends in need can refer to it. Hope it helps.

1 transform attribute

In CSS3, you can use the transform function to achieve four types of deformation: rotation, scaling, tilting, and movement of text or images. deal with.

(1) Browser support

So far: Safari3.1 or above, Chrome8 or above, Firefox4 or above, Opera10 or above browsers support this attribute.

2 Rotate

Use the rotate method and add the angle value to the parameter. The angle value is followed by the "deg" text indicating the angle unit. Rotate The direction is clockwise.

transform:rotate(45deg);
Copy after login

3 Zoom

Use the scale method to implement scaling of text or images, and specify the scaling ratio in the parameters.

transform:scale(0.5);//缩小一半
Copy after login

(1) You can specify the horizontal magnification and vertical magnification of the element respectively

transform:scale(0.5,2);//水平方向缩小一半,垂直方向放大一倍。
Copy after login

4 Tilt

Use the skew method To implement tilt processing of text or images, specify the tilt angle in the horizontal direction and the tilt angle in the vertical direction in the parameters.

transform:skew(30deg,30deg);//水平方向上倾斜30度,垂直方向上倾斜30度。
Copy after login

(1) Only use one parameter and omit the other parameter

In this case, it is regarded as tilting only in the horizontal direction and not in the vertical direction.

transform:skew(30deg);
Copy after login

5 Move

Use the translate method to move text or images, and specify the moving distance in the horizontal direction and the moving distance in the vertical direction in the parameters.

transform:translate(50px,50px);// 水平方向上移动50px,垂直方向上移动50px
Copy after login

(1) Only use one parameter and omit the other parameter

In this case, it is regarded as moving only in the horizontal direction and not in the vertical direction.

transform:translate(50px);
Copy after login

6 Use multiple deformation methods for an element

transform:translate(150px,200px) rotate(45deg) scale(1.5);
Copy after login

7 Specify the base point of deformation

When using When the transform method deforms text or images, it uses the center point of the element as the base point for deformation.

transform-origin attribute

Use this attribute to change the base point of deformation.

transform:rotate(45deg);
transform-origin:left bottom;//把基准点修改为元素的左下角
Copy after login

(1) Specify the attribute value

The position of the reference point in the horizontal direction of the element: left, center, right

The position of the reference point in the vertical direction of the element: top, center, bottom

8 3D deformation function

(1) Rotation

Use rotateX method, rotateY method, rotateZ method respectively to surround the element To rotate the X-axis, Y-axis, and Z-axis, add the angle value to the parameters. The angle value is followed by the deg text indicating the angle unit. The rotation direction is clockwise.

transform:rotateX(45deg);
transform:rotateY(45deg);
transform:rotateZ(45deg);
transform:rotateX(45deg) rotateY(45deg) rotateZ(45deg);
transform:scale(0.5) rotateY(45deg) rotateZ(45deg);
Copy after login

(2) Scaling

Use the scaleX method, scaleY method, and scaleZ method respectively to scale the element according to the X-axis, Y-axis, and Z-axis, and specify the scaling ratio in the parameters.

transform:scaleX(0.5);
transform:scaleY(1);
transform:scaleZ(2);
transform:scaleX(0.5)scaleY(1);
transform:scale(0.5) rotateY(45deg);
Copy after login

(3) Tilt

Use the skewX method and skewY method respectively to tilt the element clockwise on the X-axis and Y-axis (no skewZ method), and specify the tilt in the parameters Angle

transform:skewX(45deg);
transform:skewY(45deg);
Copy after login

(4) Movement

Use the translateX method, translateY method, and translateZ method respectively to move the element in the X-axis, Y-axis, and Z-axis directions, and add movement in the parameters distance.

transform:translateX(50px);
transform:translateY(50px);
transform:translateZ(50px);
Copy after login

9 Transformation Matrix

There is a corresponding matrix behind each transformation method.

(1) Calculate 2D deformation (3 ,b,c,d,e,f), a~f all represent a number, used to decide how to perform deformation processing.

(2) Translation 2D matrix\begin{bmatrix} a&c&e \ b & d & f\ 0 & 0 &1 \end{bmatrix}

//效果一致:右移150px,下移150px
transform:matrix(1,0,0,1,150,150);
transform:translate(150px,150px);
Copy after login

(3) Calculate 3D deformation

4X4 matrix used for 3D scaling deformation\begin{bmatrix} 1 & 0 & tx\ 0& 1& ty \ 0& 0& 1 \end{bmatrix}

\begin{bmatrix} sx & 0 & 0&0 \\ 0& sy & 0&0 \\ 0& 0& sz & 0\\ 0& 0& 0&1 \end{bmatrix}

transform:matrix3d(sx,0,0,0,0,sy,0,0,0,0,sz,0,0,0,0,1);

//效果一致:X轴方向上缩小五分之一,Y轴方向上缩小一半。
transform:scale3d(0.8,0.5,1);
transform:matrix3d(0.8,0,0,0,0,0.5,0,0,0,0,1,0,0,0,0,1);
Copy after login

(4)可通过矩阵执行多重变形处理

将需要的变形矩阵相乘得到一个新的变形矩阵可实现该处理。

相关推荐:

CSS3的transform属性_html/css_WEB-ITnose

CSS3的属性transition、animation、transform

The above is the detailed content of 4 functions implemented by the transform attribute in CSS3 (rotation, scaling, tilting, and moving). For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Stacked Cards with Sticky Positioning and a Dash of Sass Stacked Cards with Sticky Positioning and a Dash of Sass Apr 03, 2025 am 10:30 AM

The other day, I spotted this particularly lovely bit from Corey Ginnivan’s website where a collection of cards stack on top of one another as you scroll.

Google Fonts   Variable Fonts Google Fonts Variable Fonts Apr 09, 2025 am 10:42 AM

I see Google Fonts rolled out a new design (Tweet). Compared to the last big redesign, this feels much more iterative. I can barely tell the difference

How to Create an Animated Countdown Timer With HTML, CSS and JavaScript How to Create an Animated Countdown Timer With HTML, CSS and JavaScript Apr 11, 2025 am 11:29 AM

Have you ever needed a countdown timer on a project? For something like that, it might be natural to reach for a plugin, but it’s actually a lot more

Why are the purple slashed areas in the Flex layout mistakenly considered 'overflow space'? Why are the purple slashed areas in the Flex layout mistakenly considered 'overflow space'? Apr 05, 2025 pm 05:51 PM

Questions about purple slash areas in Flex layouts When using Flex layouts, you may encounter some confusing phenomena, such as in the developer tools (d...

How to select a child element with the first class name item through CSS? How to select a child element with the first class name item through CSS? Apr 05, 2025 pm 11:24 PM

When the number of elements is not fixed, how to select the first child element of the specified class name through CSS. When processing HTML structure, you often encounter different elements...

HTML Data Attributes Guide HTML Data Attributes Guide Apr 11, 2025 am 11:50 AM

Everything you ever wanted to know about data attributes in HTML, CSS, and JavaScript.

A Proof of Concept for Making Sass Faster A Proof of Concept for Making Sass Faster Apr 16, 2025 am 10:38 AM

At the start of a new project, Sass compilation happens in the blink of an eye. This feels great, especially when it’s paired with Browsersync, which reloads

See all articles