【发布时间】:2021-11-13 07:23:46
【问题描述】:
因为
<style>
.marquee{
width: 80%;
overflow: hidden;
border:1px solid #ccc;
}
.brandSlider{
display: flex;
list-style: none;
animation: scrollingSlider 20s linear infinite;
}
.barndSliderItem{
height: 250px;
width: 250px;
margin-left: 10px;
}
.brandSliderContainer{
width: 90%;
overflow: hidden;
}
@keyframes scrollingSlider {
0% {transform: translateX(100%);}
100% {transform: translateX(-3000px);}
}
</style>
效果很好而且动人,但我希望第一张图片直接出现在最后一张图片之后,没有任何空格或延迟,该怎么做?
从数据库中检索到的滑块中使用的图像,这是带有 php 代码的 html:
<div class="brandSliderContainer">
<div class="brandSlider">
<?php
$sql="select logo,id,website,name from companies where state=1 order by id asc";//get brands from database
$preProd=$con->prepare($sql);
$preProd->execute();
if($preProd->rowcount())
{
$allBrands=$preProd->fetchall();
foreach($allBrands as $img){
$id1=encript_id($img["id"]);
echo "
<a href='brand-products.php?id=$id1'><img class='barndSliderItem' src='../control-panel/images/$img[logo]' alt='Brand Logo'></a>";
}
}
?>
</div>
</div>
$con 是与 PDO 的数据库连接,图片检索成功。
【问题讨论】:
-
如果您知道所有幻灯片至少会覆盖视口的宽度,一种方法是制作两个幻灯片副本,然后在动画中转换为 -50%。
-
@A Haworth,图片数量不固定,来自产品数据库,有时会添加新产品或删除某些产品。