Home > Web Front-end > Front-end Q&A > css3 flip effect

css3 flip effect

王林
Release: 2023-05-21 09:21:07
Original
1452 people have browsed it

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); 
}
Copy after login

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:

  1. 3D box flip animation
.flip {
  transition: transform 0.5s;
  transform-style: preserve-3d;
}
.flip:hover {
  transform: rotate3d(0,1,0,180deg);
}
Copy after login

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.

  1. 3D three-dimensional menu flip animation
.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);
}
Copy after login

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!

source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template