CSS3 flip effect is a common effect in web design. It can flip web elements from front to back, or from back to front, creating a three-dimensional effect and enhancing user experience. This article will introduce in detail the implementation method and related code of CSS3 flip effect.
1. CSS3 flip basics
3D deformation in CSS3 is achieved through the transform attribute. There are two commonly used attributes: rotateX and rotateY, which are used along the X-axis and Rotate on the Y axis. Using these two attributes, you can easily achieve the flip effect of the element, as shown in the following example:
.flip-box { perspective: 1000px; } .flip-box-inner { position: relative; width: 100%; height: 100%; transition: transform 0.6s; transform-style: preserve-3d; } .flip-box-front, .flip-box-back { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; } .flip-box-front { background-color: #bbb; color: black; } .flip-box-back { background-color: #2980b9; color: white; transform: rotateY(180deg); } .flip-box:hover .flip-box-inner { transform: rotateY(180deg); }
The above code implements a simple flip effect, triggering the .flip-box-inner by hovering over the .flip-box element. The rotateY transformation of the element realizes the flip effect of the element. It should be noted that the observation distance is set through the perspective attribute, and the transform-style attribute is set to preserve-3d to ensure the correct presentation of the three-dimensional space.
2. CSS3 flip animation
In addition to the basic flip effect, CSS3 also provides more deformation functions, which can show more vivid effects through animation. The following are some commonly used CSS3 flip animation implementation codes:
.flip { transition: transform 0.5s; transform-style: preserve-3d; } .flip:hover { transform: rotate3d(0,1,0,180deg); }
Through the rotate3d function in CSS3, the effect of rotation along any axis can be achieved , where 180deg represents the degree of flipping. When the mouse hovers over the .flip element, the animation display effect is triggered.
.flip-menu { perspective: 800px; } .flip-menu > li { position: relative; display: inline-block; margin: 0 10px; transform-style: preserve-3d; transition: transform 0.5s; } .flip-menu > li > a { display: block; position: relative; color: #fff; text-decoration: none; background: #3498db; padding: 10px; box-shadow: 0 5px 10px rgba(0,0,0,0.1); } .flip-menu > li:hover { transform: rotateY(-180deg); } .flip-menu > li > a::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; box-shadow: inset 0 0 0 100px rgba(0,0,0,0.2); transform: rotateY(180deg); transition: transform 0.5s; } .flip-menu > li:hover > a:before { transform: rotateY(0deg); }
The above code implements a 3D three-dimensional menu flip animation, triggering the flip-menu flip transformation through hover, and at the same time through the before pseudo-element Implemented the display effect on the back of the menu.
3. Summary
CSS3 flip effect is one of the effects widely used in web design. It realizes the effect along the edge through the deformation function of the transform attribute and the observation distance in the three-dimensional space. The flip effect of the X-axis and Y-axis. In actual development, CSS3 animation attributes and pseudo elements can be used to further display vivid and three-dimensional effects, bringing a better visual experience to users.
The above is the detailed content of css3 flip effect. For more information, please follow other related articles on the PHP Chinese website!