Html CSS幻灯片显示问题,最后一张图像未显示,但仅在瞬间显示
我已经创建了一个幻灯片,其中有许多来自其他非常有才华的人的输入(我正在学习)。然而,我的代码似乎一直到了第五张图片,但很快又回到了第一张图片,而不是像前四张幻灯片一样停留在同一个时间表上。我试图避免使用JS或jQuery。我觉得它更容易阅读,尤其是考虑到我几乎没有Java背景 以下是我当前使用的代码:Html CSS幻灯片显示问题,最后一张图像未显示,但仅在瞬间显示,html,css,slideshow,css-animations,Html,Css,Slideshow,Css Animations,我已经创建了一个幻灯片,其中有许多来自其他非常有才华的人的输入(我正在学习)。然而,我的代码似乎一直到了第五张图片,但很快又回到了第一张图片,而不是像前四张幻灯片一样停留在同一个时间表上。我试图避免使用JS或jQuery。我觉得它更容易阅读,尤其是考虑到我几乎没有Java背景 以下是我当前使用的代码: @导入url(http://fonts.googleapis.com/css?family=Istok+网络); @滑动关键帧{ 0% { 左:0%; } 20% { 左:0%; } 25% {
@导入url(http://fonts.googleapis.com/css?family=Istok+网络);
@滑动关键帧{
0% {
左:0%;
}
20% {
左:0%;
}
25% {
左-100%;
}
45% {
左-100%;
}
50% {
左-200%;
}
70% {
左-200%;
}
75% {
左-300%;
}
95% {
左-300%;
}
100% {
左-400%;
}
}
身体,
身材{
保证金:0;
背景:#101010;
字体系列:Istok Web,无衬线;
字号:100;
}
标题画廊{
宽度:100%;
溢出:隐藏;
}
figure.slider{
位置:相对位置;
宽度:500%;
字号:0;
动画:60年代滑无限;
}
图.滑块图{
宽度:20%;
高度:自动;
显示:内联块;
职位:继承;
}
图1.2滑块img{
宽度:100%;
身高:95%;
}
figure.slider figcaption{
位置:绝对位置;
底部:0;
背景:rgba(0,0,0,0.4);
颜色:#fff;
宽度:100%;
字号:2rem;
填充:.6rem;
}
在我解释为什么最后一张图像只在一瞬间显示之前,为了使幻灯片正常工作,还需要做一些其他更改:
- 所讨论的CSS似乎是在假设只有5个图像的情况下编码的,但是HTML标记有6个
元素。我不确定这是故意的还是错误的,但我将根据提供的HTML解释更改。slider figure
- 首先,应该将
的宽度从figure.slider
更改为500%
,因为有六个图像,每个图像的宽度必须是600%
宽度(即覆盖整个身体)。这应始终计算为(元素数量*100%)。如果不这样做,一些图像将换行到下一行,并且由于父级上的100%
溢出:隐藏设置而被隐藏
- 接下来,应该将
的宽度从figure.slider figure
更改为20%
,因为我们现在有六个图像,因此每个图像的宽度应为100%的1/616.67%
- 当我们有5个图像时,在
,将显示第一个图像,在左侧:0%
,将显示第二个图像,因此仅在左侧:-100%
将显示第五个图像。根据相关规范,左侧:-400%
至left:-300%
移动仅在left:-400%
至95%
之间发生,因此第五幅图像仅在100%
处完全可见,这与动画结束时间相同,这就是最后一幅图像仅在瞬间显示的原因100%
- 为了解决上述问题,应更改
规则。因为在我们的案例中,我们已经拍摄了6张图像,我们需要5(n-1)个幻灯片移动,每个幻灯片移动都是在动画持续时间的关键帧
上完成的。这意味着滑梯运动总共消耗了持续时间的25%。现在剩下的5%
应该在图像元素之间平均分割,这样每个元素在消失之前都可以看到x秒。因此,我们得出每个图像的75%
停留时间和12.5%
幻灯片移动时间。一旦我们对5%
@关键帧进行了此修改,我们可以看到每个图像都获得了它们的屏幕时间(即60秒=7.5秒的12.5%)
@导入url(http://fonts.googleapis.com/css?family=Istok+网络);
@滑动关键帧{
0% {
左:0%;
}
12.5% {
左:0%;
}
17.5% {
左-100%;
}
30% {
左-100%;
}
35% {
左-200%;
}
47.5% {
左-200%;
}
52.5% {
左-300%;
}
65% {
左-300%;
}
70% {
左-400%;
}
82.5% {
左-400%;
}
87.5% {
左-500%;
}
100% {
左-500%;
}
}
身体,
身材{
保证金:0;
背景:#101010;
字体系列:Istok Web,无衬线;
字号:100;
}
标题画廊{
宽度:100%;
溢出:隐藏;
}
figure.slider{
位置:相对位置;
宽度:600%;
字号:0;
动画:60年代滑无限;
}
图.滑块图{
宽度:16.66%;
高度:自动;
显示:内联块;
职位:继承;
}
图1.2滑块img{
宽度:100%;
身高:95%;
}
figure.slider figcaption{
位置:绝对位置;
底部:0;
背景:rgba(0,0,0,0.4);
颜色:#fff;
宽度:100%;
字号:2rem;
填充:.6rem;
}
哈利!伙计!你太棒了!最好的解释!我一直在想这个问题,你让它听起来简单多了。非常感谢你。我试过这个密码,效果很好。现在,如果我需要编辑@keyframes中的任何内容,我知道怎么做。我真的很感谢你的帮助。很好的回答,你的第5点明确了关键帧移动的计算+1.