Home Web Front-end CSS Tutorial CSS transition effect: how to achieve the rotation and scaling effect of elements

CSS transition effect: how to achieve the rotation and scaling effect of elements

Nov 21, 2023 pm 06:30 PM
css Rotate zoom transition

CSS transition effect: how to achieve the rotation and scaling effect of elements

CSS transition effect: How to achieve the rotation and scaling effect of elements requires specific code examples

In web interface design, transition effect is a very important design element , which can inject some vitality and movement into static pages. Among them, the rotation and scaling effect is a common effect, which can make page elements more vivid and interesting during interaction. This article will introduce how to use CSS to achieve rotation and scaling effects, and provide specific code implementation.

  1. Achieving the rotation effect

To achieve the rotation effect of the element, you need to use the transform attribute in CSS3. You can realize the rotation of the element through the rotate() function in the transform attribute. This function requires one parameter, which represents the angle of rotation, which can be a positive or negative number. When the parameter is a positive number, it means that the element rotates in the clockwise direction; when the parameter is a negative number, it means that the element rotates in the counterclockwise direction.

Next, let’s demonstrate how to achieve the rotation effect of a square element. First, we create a square div element and set some basic styles:

<div class="square"></div>

.square {
    width: 100px;
    height: 100px;
    background-color: red;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -50px;
    margin-left: -50px;
}

Next, we add the code for the rotation effect in CSS:

.square {
    width: 100px;
    height: 100px;
    background-color: red;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -50px;
    margin-left: -50px;
    transform: rotate(45deg);
    transition: transform 1s ease;
}

In the above code, we The transform attribute and transition attribute are used to achieve the rotation effect of the element. Among them, the value of the transform attribute is rotate(45deg), which means that the element is rotated 45 degrees in the clockwise direction; the value of the transition attribute is transform 1s ease, which means that the transform attribute value of the element is transitioned at the speed of ease within 1 second. In this way, when we operate the element during interaction, we can see the rotation effect of the element.

  1. Achieving the scaling effect

To achieve the scaling effect of the element, you also need to use the transform attribute. The difference is that we need to use the scale() function of the transform attribute to achieve the element's scaling effect. Zoom. The scale() function requires two parameters, which represent the horizontal scaling and vertical scaling of the element. When the parameter is 1, it means that the element maintains its original size; when the parameter is greater than 1, it means that the element is enlarged; when the parameter is less than 1, it means that the element is reduced.

Next, let’s demonstrate how to achieve the scaling effect of a square element. Different from the rotation effect, we need to add a hover state to the element before interaction, so that when the user moves the mouse over the element, the element will have a scaling effect. We first create a square div element and set some basic styles:

<div class="square"></div>

.square {
    width: 100px;
    height: 100px;
    background-color: red;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -50px;
    margin-left: -50px;
}

Then, we add the code for the zoom effect in CSS:

.square {
    width: 100px;
    height: 100px;
    background-color: red;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -50px;
    margin-left: -50px;
    transition: transform 1s ease;
}

.square:hover {
    transform: scale(1.2);
}

In the above code, we use transition attribute and hover state to achieve the scaling effect of elements. In the original state, the element's transform attribute value is none and no scaling is performed; when the user moves the mouse over the element, we use the hover state to trigger the element's scaling effect and set the value of the transform attribute to scale(1.2). Indicates that the element is magnified 1.2 times. At the same time, we also use the transition attribute to animate the element during transition.

  1. Comprehensive implementation of rotation and scaling effects

If we want to achieve the rotation and scaling effects of elements at the same time, they can be used together. In the transform attribute, we can use multiple functions to perform multiple transformations at the same time, and we can also use the transition attribute to add animation effects to the transformation.

Next, let’s demonstrate how to implement the rotation and scaling animation effect of a square element. We first create a square div element and set some basic styles:

<div class="square"></div>

.square {
    width: 100px;
    height: 100px;
    background-color: red;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -50px;
    margin-left: -50px;
}

Then, we add the rotation and scaling animation code in CSS:

.square {
    width: 100px;
    height: 100px;
    background-color: red;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -50px;
    margin-left: -50px;
    transform: rotate(0deg) scale(1);
    transition: transform 1s ease;
}

.square:hover {
    transform: rotate(45deg) scale(1.2);
}

In the above code, we use The transform attribute and transition attribute are used to achieve the rotation and scaling animation effect of the element. In the original state, the transform attribute value of the element is rotate(0deg) scale(1), which means that the element does not perform rotation and scaling operations; when the user moves the mouse to the element, we use the hover state to trigger the animation effect of the element. The value of the transform attribute is set to rotate(45deg) scale(1.2), which means that the element is rotated 45 degrees clockwise and enlarged 1.2 times while having a slow animation effect.

Summary

Through the above demonstration, we can see that it is very simple to achieve the rotation and scaling effect of elements. It only needs to use the transform attribute and transition attribute in CSS3 to achieve it. We only need to use the rotate() function and scale() function to achieve rotation and scaling effects, and then use the transition attribute to add a smooth transition effect to the animation. At the same time, in practical applications, we can combine different transformation functions to create more complex effects.

The above is the detailed content of CSS transition effect: how to achieve the rotation and scaling effect of elements. 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

Undress AI Tool

Undress AI Tool

Undress images for free

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.

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)

How to use CSS gradients for backgrounds How to use CSS gradients for backgrounds Aug 17, 2025 am 08:39 AM

CSSgradientsprovidesmoothcolortransitionswithoutimages.1.Lineargradientstransitioncolorsalongastraightlineusingdirectionsliketobottomorangleslike45deg,andsupportmultiplecolorstopsforcomplexeffects.2.Radialgradientsradiatefromacentralpointusingcircleo

How to create a glassmorphism effect with CSS How to create a glassmorphism effect with CSS Aug 22, 2025 am 07:54 AM

To create a glass mimicry effect of CSS, you need to use backdrop-filter to achieve background blur, set a translucent background such as rgba(255,255,255,0.1), add subtle borders and shadows to enhance the sense of hierarchy, and ensure that there is enough visual content behind the elements; 1. Use backdrop-filter:blur(10px) to blur the background content; 2. Use rgba or hsla to define the transparent background to control the degree of transparency; 3. Add 1pxsolidrgba(255,255,255,0.3) borders and box-shadow to enhance the three-dimensionality; 4. Ensure that the container has rich backgrounds such as pictures or textures to present a blurred penetration effect; 5. It is compatible with old browsers

How to create a dotted border in CSS How to create a dotted border in CSS Aug 15, 2025 am 04:56 AM

Use CSS to create dotted borders, just set the border attribute to dotted. For example, "border:3pxdotted#000" can add a 3-pixel-wide black dot border to the element. By adjusting the border-width, the size of the point can be changed. The wider borders produce larger points. You can set dotted borders for a certain side, such as "border-top:2pxdottedred". Dotted borders are suitable for block-level elements such as div and input. They are often used in focus states or editable areas to improve accessibility. Pay attention to color contrast. At the same time, different from dashed's short-line style, dotted presents a circular dot shape. This feature is widely used in all mainstream browsers.

How to change the list style in CSS How to change the list style in CSS Aug 17, 2025 am 10:04 AM

To change the CSS list style, first use list-style-type to change the bullet or numbering style. 1. Use list-style-type to set the bullet of ul to disc, circle or square, and the number of ol is decimal, lower-alpha, upper-alpha, lower-roman or upper-roman. 2. Remove the tag completely with list-style:none. 3. Use list-style-image:url('bullet.png') to replace it with a custom image. 4. Use list-style-position:in

How to change the cursor in CSS How to change the cursor in CSS Aug 16, 2025 am 05:00 AM

Usebuilt-incursortypeslikepointer,help,ornot-allowedtoprovideimmediatevisualfeedbackfordifferentinteractiveelements.2.ApplycustomcursorimageswiththecursorpropertyusingaURL,optionallyspecifyingahotspotandalwaysincludingafallbacklikeautoorpointer.3.Fol

How to implement a dark mode theme with CSS How to implement a dark mode theme with CSS Aug 22, 2025 am 09:55 AM

There are two main ways to implement dark mode: one is to use prefers-color-scheme media to query automatically to adapt system preferences, and the other is to add manual switching function through JavaScript. 1. Use prefers-color-scheme to automatically apply dark themes according to the user system. There is no need for JavaScript, just define the styles in the media query; 2. To achieve manual switching, you need to define light-theme and dark-themeCSS classes, add toggle buttons, and use JavaScript to manage the theme status and localStorage to save user preferences; 3. You can combine both to read localSt first when the page is loaded.

How to use grid-template-areas in CSS How to use grid-template-areas in CSS Aug 22, 2025 am 07:56 AM

Thegrid-template-areaspropertyallowsdeveloperstocreateintuitive,readablelayoutsbydefiningnamedgridareas;eachstringrepresentsarowandeachwordacolumncell,withgrid-areanamesonchildelementsmatchingthoseinthetemplate,suchas"headerheaderheader"for

How to add a box shadow in CSS How to add a box shadow in CSS Aug 18, 2025 am 11:39 AM

To add box shadows, use box-shadow attribute; 1. The basic syntax is box-shadow: horizontal offset vertical offset blur radius expansion radius shadows in color; 2. The first three values are required, the rest are optional; 3. Use rgba() or hsla() to achieve transparent effect; 4. The positive expansion radius expands shadows and the negative value is reduced; 5. Multiple shadows can be added by commas separation; 6. Overuse should be avoided to ensure that visibility is tested on different backgrounds; this attribute is well supported by the browser, and reasonable use can improve the design texture.

See all articles