图像不在Safari移动网络上的中心

发布于 2025-01-28 02:23:24 字数 2249 浏览 4 评论 0原文

我对图像实现了CSS动画,并且通过PC在资源管理器或Chrome上运行良好。

但是,在Safari上,图像放在左上角。由于我使用的位置:绝对和亲戚进行动画,因此我无法使用Display:Flex选项。

另外,从下面的SS中可以看到,卡片大小也不适合CSS中的应用,并且在卡和按钮之间具有怪异的空间。

Safari上的当前状态

这是我当前的代码:

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

img {
  vertical-align: middle;
}


.container {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-image: url("../../images/background-forloading.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.flip-card {
  width: 100%;
  height: 80vh;
  perspective: 1600px;
  cursor: pointer;
  transform: translateY(40px) rotateX(-8deg) rotateY(10deg);
  animation: movement 5s infinite;
}

@keyframes movement {
  50% {
    transform: translateY(-40px) rotateX(8deg) rotateY(-10deg);
  }
}

.flip-card div {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  backface-visibility: hidden;
  transition: 0.7s;
  width: 100vw;
  height: 80vh;

}

.flip-card div img {
  width: 100vw;
  height: 80vh;
  object-fit: contain;
}


.front {
  filter: drop-shadow(0 0 30px #000);
}

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


.flip-card:hover .front {
  transform: rotateY(-180deg);
}

.flip-card:hover .back {
  transform: rotateY(0);
  filter: drop-shadow(0 0 20px rgb(120, 185, 232));
}
<div class="container">
    <div class="flip-card">
      <div class="front">
        <img src="images/귀문관카드뒤.png">
      </div>
      <div class="back">
        <img src="images/인간.png">
      </div>
    </div>
    <div class="flip-card-button text-center">
    <a href="images/인간.png" download="인간.png"><button class="enter">Save</button></a>
    <a href="final.html"><button type="submit" class="enter">Next</button></a>
  </div>
  </div>

I implemented css animation to the image and it works well on explorer or chrome through the pc.

Though, on safari, the image is placed in the left top corner. Since I'm using position: absolute and relative for animation, I can't use display:flex option.

Plus, as you can see from below ss, card size is also not fit as applied in css, and have weird space between card and buttons.

current status on safari

Here is my current code:

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

img {
  vertical-align: middle;
}


.container {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-image: url("../../images/background-forloading.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.flip-card {
  width: 100%;
  height: 80vh;
  perspective: 1600px;
  cursor: pointer;
  transform: translateY(40px) rotateX(-8deg) rotateY(10deg);
  animation: movement 5s infinite;
}

@keyframes movement {
  50% {
    transform: translateY(-40px) rotateX(8deg) rotateY(-10deg);
  }
}

.flip-card div {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  backface-visibility: hidden;
  transition: 0.7s;
  width: 100vw;
  height: 80vh;

}

.flip-card div img {
  width: 100vw;
  height: 80vh;
  object-fit: contain;
}


.front {
  filter: drop-shadow(0 0 30px #000);
}

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


.flip-card:hover .front {
  transform: rotateY(-180deg);
}

.flip-card:hover .back {
  transform: rotateY(0);
  filter: drop-shadow(0 0 20px rgb(120, 185, 232));
}
<div class="container">
    <div class="flip-card">
      <div class="front">
        <img src="images/귀문관카드뒤.png">
      </div>
      <div class="back">
        <img src="images/인간.png">
      </div>
    </div>
    <div class="flip-card-button text-center">
    <a href="images/인간.png" download="인간.png"><button class="enter">Save</button></a>
    <a href="final.html"><button type="submit" class="enter">Next</button></a>
  </div>
  </div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

路弥 2025-02-04 02:23:24

我不确定是否可以解决您的问题,但是您的代码当前缺少浏览器前缀。

  • -webkit-用于Chrome,Safari,Opera,ios
  • -Moz- firefox
  • -MS- Internet Explorer和Edge

I'm not sure if it solves your problem, but your code is currently missing the browser prefixes.

  • -webkit- for Chrome, Safari, Opera, iOS
  • -moz- Firefox
  • -ms- Internet Explorer and Edge
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文