如何创建类似于图像填充效果的CSS3动画?

如何创建类似于图像填充效果的CSS3动画?,css,css-animations,Css,Css Animations,许多预加载程序从下到上填充图像,就像这样 如何基于CSS中的单个图像创建动画以显示填充效果?我试过使用下面的代码,但这只会产生图像滑动效果,而不是填充效果 我所说的填充效果是指实际图像慢慢填充一帧(就像水填充一个水箱) .frame{ 位置:相对位置; 高度:600px; 宽度:300px; 溢出:隐藏; 边框:1px实心; } .帧img{ 位置:绝对位置; 最高:100%; 动画:填满3s轻松无限; } @关键帧填充{ 到{ 顶部:0px; } } 使用CSS3动画可以创建类似于可用动画(

许多预加载程序从下到上填充图像,就像这样

如何基于CSS中的单个图像创建动画以显示填充效果?我试过使用下面的代码,但这只会产生图像滑动效果,而不是填充效果

我所说的填充效果是指实际图像慢慢填充一帧(就像水填充一个水箱)

.frame{
位置:相对位置;
高度:600px;
宽度:300px;
溢出:隐藏;
边框:1px实心;
}
.帧img{
位置:绝对位置;
最高:100%;
动画:填满3s轻松无限;
}
@关键帧填充{
到{
顶部:0px;
}
}

使用CSS3动画可以创建类似于可用动画(使用jQuery进行动画)的图像填充动画。它只需要两个容器来放置图像,其中一个容器的高度将从0到全高设置动画

以下是如何创建此动画:

  • 一个父容器元素,其高度、宽度等于(或大于)图像的高度、宽度
  • 一个第二级容器元素,相对于父容器的底部绝对定位。该元素的初始高度设置为0,并且该元素上的动画会产生填充效果
  • 也绝对相对于顶级容器底部定位的图像
  • 第二级容器具有
    溢出:隐藏
    ,因此图像的其他部分不会显示(它们被剪裁)。随着第二级容器的高度设置动画,越来越多的图像变得可见
.container{
位置:相对位置;
宽度:300px;
高度:600px;
}
.框架{
位置:绝对位置;
底部:0px;
左:0px;
高度:0px;
宽度:100%;
溢出:隐藏;
动画:填满3s轻松无限;
}
.帧img{
位置:绝对位置;
底部:0px;
}
@关键帧填充{
到{
高度:600px;
}
}

使用CSS3动画可以创建类似于可用动画(使用jQuery进行动画)的图像填充动画。它只需要两个容器来放置图像,其中一个容器的高度将从0到全高设置动画

以下是如何创建此动画:

  • 一个父容器元素,其高度、宽度等于(或大于)图像的高度、宽度
  • 一个第二级容器元素,相对于父容器的底部绝对定位。该元素的初始高度设置为0,并且该元素上的动画会产生填充效果
  • 也绝对相对于顶级容器底部定位的图像
  • 第二级容器具有
    溢出:隐藏
    ,因此图像的其他部分不会显示(它们被剪裁)。随着第二级容器的高度设置动画,越来越多的图像变得可见
.container{
位置:相对位置;
宽度:300px;
高度:600px;
}
.框架{
位置:绝对位置;
底部:0px;
左:0px;
高度:0px;
宽度:100%;
溢出:隐藏;
动画:填满3s轻松无限;
}
.帧img{
位置:绝对位置;
底部:0px;
}
@关键帧填充{
到{
高度:600px;
}
}


请看,共识是“不,他们不应该”!我不明白为什么会有人投反对票?我想这只是因为Q太宽了,因为你要求的是一个通用教程(“使用CSS/SVG/JavaScript/Fortran的各种Web动画方法”),而不是一个解决方案。我没有否决投票,但我投票赞成以“太宽泛”结束投票。第一个投票可以使用纯CSS本身完成。在第二个例子中,我根本看不到任何动画(它从一个大图像开始,然后快速捕捉到一个小图像)。如果你能把你的问题缩小到第一个动画(并发布一些你尝试过的代码-这不是强制性的,但如果没有它,你的问题将被更多地否决和关闭)“我可以提供答案。”旺卡:我补充了一个答案,因为我觉得这个问题对未来的人是有用的,但是正如我在先前的评论中所说的,你真的应该考虑改进这个问题。(比如说,包括你想要实现的目标的清晰解释,而不是让人们查看外部网站,包括一些你尝试过的代码等)。否则,问题很可能会被解决。请看,共识是“不,他们不应该”!我不明白为什么会投反对票?我想这只是因为Q太宽了,因为你要求的更多的是一个通用教程(“使用CSS/SVG/JavaScript/Fortran的各种Web动画方法”),而不是一个解决方案。我没有投反对票,但我投了“太宽”的赞成票。第一个问题可以使用纯CSS本身完成。在第二个问题中,我根本看不到任何动画(它以大图像开始,然后快速捕捉到较小的图像)。如果您可以将问题缩小到第一个动画(也张贴了一些你尝试过的代码——这不是强制性的,但是没有它,你的问题会被更多地否决和关闭)。然后我可以提供答案。“旺卡:我已经添加了一个答案,因为我觉得这个问题对将来会对其他人有用,但是正如我在之前的评论中所说的,你确实应该考虑改进这个问题。(比如说,包括你想要实现的目标的清晰解释,而不是让人们查看外部网站,包括一些你尝试过的代码等)。否则,问题很可能就解决了。Harry,这绝对是我在CSS3中找到的实现它的最好方法:)谢谢你的回答!哈利,这绝对是我在CSS3中找到的最好的方法:)谢谢你的惊喜