经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS » 查看文章
CSS 实现滚动的图片栏 实例代码_CSS教程_CSS
来源:jb51  时间:2018/9/27 16:28:10  对本文有异议

在一些网站上可以经常看到有一些图片进行持续不断的滚动,这个效果可以通过css的动画效果来实现。具体效果如下

主要原理是通过动画向左移动。

首先给出两组一样的图片(同一行上),让整体图片向左移动一组图片的长度,

这样在动画结束时会迅速还原到原来位置,而此时正好与第二组图片交替,看起来就像是一组图片在不断循环向左滚动。

具体步骤如下:

1、设置主体代码各处两组一样的图片

  1. <nav>
  2. <ul>
  3. <li><img src="Images/1 (2).jpg" alt=""></li>
  4. <li><img src="Images/2 (2).jpg" alt=""></li>
  5. <li><img src="Images/3 (2).jpg" alt=""></li>
  6. <li><img src="Images/1 (2).jpg" alt=""></li>
  7. <li><img src="Images/2 (2).jpg" alt=""></li>
  8. <li><img src="Images/3 (2).jpg" alt=""></li>
  9. </ul>
  10. </nav>

2、设置nav的大小,宽度为一组图片相加的宽度,高度为图片的高度。
 

  1. nav {
  2. width: 750px;
  3. height: 170px;
  4. border: 1px solid red;
  5. margin: 100px auto;
  6. }

3、设置ul大小,宽度为nav的两倍,高度与nav相同,并指定动画相关属性

  1. ul {
  2. width: 200%;
  3. height: 100%;
  4. animation: picmove 5s linear infinite forwards;
  5. }

4、定义动画,主要是向左移动一组图片的长度

  1. @keyframes picmove {
  2. from {
  3. transform: translate(0);
  4. }
  5. to {
  6. transform: translate(-750px);
  7. }
  8. }

5、增加鼠标悬停,动画暂停的效果

  1. ul:hover {
  2. animation-play-state: paused;
  3. }

6、最后给nav 增加 overflow:hidden 使得超出的部分隐藏,这样整体一组滚动的图片栏就做好了

整体代码如下
 

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. * {
  10. margin: 0;
  11. padding: 0;
  12. }
  13. ul {
  14. list-style: none;
  15. }
  16. nav {
  17. width: 750px;
  18. height: 170px;
  19. border: 1px solid red;
  20. margin: 100px auto;
  21. overflow: hidden;
  22. }
  23. ul {
  24. width: 200%;
  25. height: 100%;
  26. animation: picmove 5s linear infinite forwards;
  27. }
  28. @keyframes picmove {
  29. from {
  30. transform: translate(0);
  31. }
  32. to {
  33. transform: translate(-750px);
  34. }
  35. }
  36. img {
  37. width: 250px;
  38. height: 170px;
  39. float: left;
  40. }
  41. ul:hover {
  42. animation-play-state: paused;
  43. }
  44. </style>
  45. </head>
  46. <body>
  47. <nav>
  48. <ul>
  49. <li><img src="Images/1 (2).jpg" alt=""></li>
  50. <li><img src="Images/2 (2).jpg" alt=""></li>
  51. <li><img src="Images/3 (2).jpg" alt=""></li>
  52. <li><img src="Images/1 (2).jpg" alt=""></li>
  53. <li><img src="Images/2 (2).jpg" alt=""></li>
  54. <li><img src="Images/3 (2).jpg" alt=""></li>
  55. </ul>
  56. </nav>
  57. </body>
  58. </html>

总结

以上所述是小编给大家介绍的CSS 实现滚动的图片栏 实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对w3xue网站的支持!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号