css3动画响应式?

发布于 2022-09-01 05:18:28 字数 1027 浏览 32 评论 0

现在有一需求
定义css3动画如下

@keyframes ani{
  0% {
    -webkit-transform: translate(0, 0);
  }
  100%{
    -webkit-transform: translate(-269px, 65px);
  }
}

作用的元素如下

.page1 .content {
  position: absolute;
}

.page1 .content.p1 {
  top: 8%;
  margin-top: -10px;
  left: -100%;
  width: 100%;
}
.page1 .content.p1.show {
  animation: ani .8s ease .2s;
  animation-fill-mode: forwards;
}

以上动画是以iphone4和iphone5的屏幕尺寸来设计的
效果为图片倾斜着飞入
iphone4/4s/5/5s/5c显示效果都良好
但是如果再进一步
要适配到iphone6/6p
动画飞入的距离translate(-269px, 65px)就出现了问题
即动画距离不够
这时应该是使用media属性来对动画进行重写吗?

@media screen and (min-height: 667px) {
    @keyframes ani{
        .......
        .......
    }
}

使之在iphone6/6p大屏幕下也能显示良好??

明确问题
我想问的是,css3动画如translate(x,y)是否在适配各种分辨率时都要重写以达到最好效果
有没有办法只写一次,不同分辨率下也有良好的效果,如百分比写法translate(50%,50%)
当然我知道百分比是不可行的,所以来问问有没有其他方法

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

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

发布评论

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

评论(2

染火枫林 2022-09-08 05:18:28

自问自答
看这里

屋檐 2022-09-08 05:18:28

@media (min-device-width : 375px) and (max-device-width : 667px) and (-webkit-min-device-pixel-ratio : 2){ /*iphone 6*/ } @media (min-device-width : 414px) and (max-device-width : 736px) and (-webkit-min-device-pixel-ratio : 3){ /*iphone 6 plus*/ }

最好是针对IP6来写

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