我无法翻转该图像,我做错了什么?

问题描述 投票:0回答:2

我试图在两个图像之间翻转,但它不起作用。我的错误在哪里? 我已经检查并重新编写了很多次代码。

当我将鼠标悬停在图像上时,它不会更改为另一张图像。

.flip-container {
  width: 300px;
  height: 200px;
  perspective: 1000px;
}
.flipper{
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}
.flip-container:hover .flipper{
  transform: rotateX (180deg)
}
.back{
  transform: rotateY(180deg);
}
.front, .back{
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}
<div class="flip-container">
  <div class="flipper">
    <div class="front">
      <img src="https://picsum.photos/id/411/300/200" />
    </div>
    <div class="back">
      <img src="https://picsum.photos/id/249/300/200" />
    </div>
  </div>
</div>

html css flip
2个回答
0
投票

由于打字错误造成的。

您的代码有:

transform: rotateX (180deg)

但必须是:

transform: rotateX(180deg);

.flip-container {
  width: 300px;
  height: 200px;
  perspective: 1000px;
}
.flipper {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}
.flip-container:hover .flipper {
  transform: rotateX(180deg);
}
.back{
  transform: rotateY(180deg);
}
.front, .back{
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}
<div class="flip-container">
  <div class="flipper">
    <div class="front">
      <img src="https://picsum.photos/id/411/300/200" />
    </div>
    <div class="back">
      <img src="https://picsum.photos/id/249/300/200" />
    </div>
  </div>
</div>


0
投票

我在您的代码中发现了一些问题,这些问题可能导致翻转效果无法按预期工作。

CSS 转换语法错误:在悬停选择器中,转换属性中存在语法错误。正确的语法不应在函数名称 (rotateX) 和左括号之间有空格。

错误: CSS 复制代码 变换:旋转X(180度); 正确:

CSS 变换:rotateX(180deg);

悬停效果未重置:悬停效果可能无法正确重置,因为翻转容器的大小由内容的大小决定,而内容的大小会在旋转内容时发生变化。这可能会导致悬停区域在动画期间发生变化。要解决此问题,您可以为 .flip-container 设置固定大小。

这是更正后的代码:

HTML:

<div class="flip-container">
  <div class="flipper">
    <div class="front">
      <img src="https://picsum.photos/id/411/300/200" alt="Front Image" />
    </div>
    <div class="back">
      <img src="https://picsum.photos/id/249/300/200" alt="Back Image" />
    </div>
  </div>
</div>

CSS:

.flip-container {
  width: 300px;
  height: 200px;
  perspective: 1000px;
}

.flipper {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

/* Add vendor prefixes for better browser compatibility */
.flip-container:hover .flipper {
  transform: rotateX(180deg);
}

.back {
  transform: rotateY(180deg);
}

.front,
.back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}

确保在 HTML 和 CSS 文件中包含正确的代码。这应该可以解决您所面临的图像翻转效果无法正常工作的问题。

© www.soinside.com 2019 - 2024. All rights reserved.