前端實現無縫自動滾動動畫

1. 前言: 前端使用HTML+CSS實現一個無縫滾動的列表效果

示例圖:

示例圖

2. 源碼

  1. html部分源碼:
<!--* @Author: wangZhiyu <w3209605851@163.com>* @Date: 2024-07-05 23:33:20* @LastEditTime: 2024-07-05 23:49:09* @LastEditors: wangZhiyu <w3209605851@163.com>* @FilePath: \無縫自動滾動動畫\index.html* @Descripttion: 無縫自動滾動動畫
-->
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>無縫自動滾動動畫</title><link rel="stylesheet" href="./index.css">
</head><body><div class="container"><div class="scrollArea"><!-- 第一段內容 --><div class="item">內容1</div><div class="item">內容2</div><div class="item">內容3</div><div class="item">內容4</div><div class="item">內容5</div><!-- 重復循環一次第一段內容 --><div class="item">內容1</div><div class="item">內容2</div><div class="item">內容3</div><div class="item">內容4</div><div class="item">內容5</div></div></div>
</body></html>
  1. css部分源碼:
* {margin: 0;padding: 0;
}/* 大盒子樣式設置,注意大盒子必須要指定寬度,并且設置overflow屬性為hidden */
.container {width: 200px;margin: 0 auto;margin-top: 200px;height: 125px;overflow: hidden;background-color: rgba(0, 0, 0, 0.05);text-align: center;
}/* 大盒子的子元素,列表內容的父元素,設置滾動動畫 */
.scrollArea {/* 設置里的動畫時長根據不同的情況設置即可 */animation: scroll 3s linear infinite;
}/* 設置當鼠標懸停時,自動挺尸滾動 */
.scrollArea:hover {animation-play-state: paused;
}/* 滾動動畫 */
@keyframes scroll {0% {}100% {transform: translateY(-50%);}
}

3. 原理解釋:

  1. 為什么需要兩個相同的列表:

    答: 因為當第一個列表滾動到頂部時,第二個列表也會隨之向上滾動,就形成了視差效果,向上滾動了一個元素區域,下面就填充進來了一個元素區域,并且當滾動完畢之后,會重新回到初識位置繼續滾動,也會形成視差效果,由此實現了無縫滾動

  2. 為什么需要在大盒子與列表元素之間再添加一個盒子進去:

    答: 這個盒子的主要作用是用來滾動的,因為大盒子設置了overflow:hidden,所以大盒子與列表元素中間的盒子滾動時是不會超出大盒子的范圍的,并且這個盒子也起到了顯示元素的顯示范圍的作用

4. 總結

以上就是本期分享的全部內容了,最近偶然又遇到了這個需求,就單獨拿出來做了個demo🙂

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42203.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42203.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42203.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【ubuntu】安裝(升級)顯卡驅動,黑屏|雙屏無法使用問題解決方法

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 ubuntu 安裝(升級)顯卡驅動&#xff0c;黑屏|雙屏無法使用問題解決方法 由于項目需要&#xff0c;對顯卡驅動進行升級。升級完就黑屏。。。。&#xff0…

Fast R-CNN(論文閱讀)

論文名&#xff1a;Fast R-CNN 論文作者&#xff1a;Ross Girshick 期刊/會議名&#xff1a;ICCV 2015 發表時間&#xff1a;2015-9 ?論文地址&#xff1a;https://arxiv.org/pdf/1504.08083 源碼&#xff1a;https://github.com/rbgirshick/fast-rcnn 摘要 這篇論文提出了一…

WordPress禁止用戶注冊某些用戶名

不管在任何網站&#xff0c;用戶注冊時都有一個屏蔽非法關鍵詞&#xff0c;就是禁止注冊某些用戶名&#xff0c;原因是因為防止用戶使用一些特定的用戶名&#xff0c;例如管理員、官方等用戶名&#xff0c;還有就是那些攻擊性的詞語了。 加網站添加了屏蔽非法關鍵詞&#xff0…

BAT-致敬精簡

什么是bat bat是windows的批處理程序&#xff0c;可以批量完成一些操作&#xff0c;方便快速。 往往我們可以出通過 winR鍵來打開指令窗口&#xff0c;這里輸入的就是bat指令 這里就是bat界面 節約時間就是珍愛生命--你能想象以下2分鐘的操作&#xff0c;bat只需要1秒鐘 我…

考慮數據庫粒度的設計-提升效率

目錄 概要 場景 設計思路 小結 概要 公開的資料顯示&#xff0c;數據庫粒度是&#xff1a;“在數據庫領域&#xff0c;特別是數據倉庫的設計中&#xff0c;粒度是一個核心概念&#xff0c;它直接影響到數據分析的準確性和存儲效率。粒度的設定涉及到數據的詳細程度和精度&…

【JVM基礎篇】Java的四種垃圾回收算法介紹

文章目錄 垃圾回收算法垃圾回收算法的歷史和分類垃圾回收算法的評價標準標記清除算法優缺點 復制算法優缺點 標記整理算法&#xff08;標記壓縮算法&#xff09;優缺點 分代垃圾回收算法&#xff08;常用&#xff09;JVM參數設置使用Arthas查看內存分區垃圾回收執行流程分代GC算…

【SpringBoot】IDEA查看spring bean的依賴關系

前因&#xff1a;在研究springcloud config組件時&#xff0c;我發現config-server包下的EnvironmentController可以響應客戶端的請求&#xff0c;但EnvironmentController并不在啟動類所在的包路徑下&#xff0c;所以我推測它是作為某個Bean方法在生效&#xff0c;尋找bean的依…

vue-router 源碼分析——9.別名

這是對vue-router 3 版本的源碼分析。 本次分析會按以下方法進行&#xff1a; 按官網的使用文檔順序&#xff0c;圍繞著某一功能點進行分析。這樣不僅能學習優秀的項目源碼&#xff0c;更能加深對項目的某個功能是如何實現的理解。這個對自己的技能提升&#xff0c;甚至面試時…

DAY1: 實習前期準備

文章目錄 VS Code安裝的插件C/CCMakeGitHub CopilotRemote-SSH收獲 VS Code 下載鏈接&#xff1a;https://code.visualstudio.com 安裝的插件 C/C 是什么&#xff1a;C/C IntelliSense, debugging, and code browsing. 為什么&#xff1a;初步了解如何在VS Code里使用C輸出…

https創建證書

需要下載httpd模塊&#xff1a;yum install httpd -y 前提需要先搭建一個虛擬主機來測試證書創建的效果&#xff0c;以下面www.hehe.com為例&#xff0c;可以參考創建&#xff1a; [rootlocalhost conf.d]# vim vhost.conf <directory /www> allowoverride none requi…

關于小愛同學自定義指令執行

1.前言 之前買了小愛同學音響&#xff0c;一直想讓其讓我的生活變得更智能&#xff0c;編寫一些程序來完成一些自動化任務&#xff0c;但是經過搜索發現&#xff0c;官方開發者平臺不能用了&#xff0c;尋找api階段浪費了我很長時間。最后在github 開源項目發現了倆個比較關鍵…

13.SQL注入-寬字節

SQL注入-寬字節 含義&#xff1a; MySQL是用的PHP語言&#xff0c;然后PHP有addslashes()等函數&#xff0c;這類函數會自動過濾 ’ ‘’ null 等這些敏感字符&#xff0c;將它們轉義成’ ‘’ \null&#xff1b;然后寬字節字符集比如GBK它會自動把兩個字節的字符識別為一個漢…

內容營銷專家劉鑫煒:網站排名需考慮哪些SEO優化技巧?

網站排名的SEO優化技巧包括&#xff1a; 1. 關鍵詞研究&#xff1a;了解目標受眾的搜索關鍵詞&#xff0c;將這些關鍵詞合理地應用在網站的標題、描述、正文和標簽中&#xff0c;有助于提高網站排名。 2. 內容優化&#xff1a;創建高質量、有價值的內容&#xff0c;可以吸引搜…

Qt源碼解析之QObject

省去大部分virtual和public方法后&#xff0c;Qobject主要剩下以下成員&#xff1a; //qobject.h class Q_CORE_EXPORT Qobject{Q_OBJECTQ_PROPERTY(QString objectName READ objectName WRITE setObjectName NOTIFY objectNameChanged)Q_DECLARE_PRIVATE(QObject) public:Q_I…

STM32-OC輸出比較和PWM

本內容基于江協科技STM32視頻內容&#xff0c;整理而得。 文章目錄 1. OC輸出比較和PWM1.1 OC輸出比較1.2 PWM&#xff08;脈沖寬度調制&#xff09;1.3 輸出比較通道&#xff08;高級&#xff09;1.4 輸出比較通道&#xff08;通用&#xff09;1.5 輸出比較模式1.6 PWM基本結…

MATLAB常用語句總結7

MATLAB總結7&#xff1a;常見錯誤歸納 本篇專門用于記錄一些應試技巧 文章目錄 MATLAB總結7&#xff1a;常見錯誤歸納前言一、一些小定義和小技巧二、蒙塔卡羅求解方法1.函數的定義2.函數引用3.代碼量較少的蒙塔卡羅 三、函數引用與多變量四、矩陣引用五、非線性函數&#xff…

14-39 劍和詩人13 - 頂級大模型測試分析和建議

????? 隨著對高級語言功能的需求不斷飆升&#xff0c;市場上涌現出大量語言模型&#xff0c;每種模型都擁有獨特的優勢和功能。然而&#xff0c;駕馭這個錯綜復雜的生態系統可能是一項艱巨的任務&#xff0c;開發人員和研究人員經常面臨選擇最適合其特定需求的模型的挑戰。…

哈弗架構和馮諾伊曼架構

文章目錄 1. 計算機體系結構 2. 哈弗架構&#xff08;Harvard Architecture&#xff09; 3. 改進的哈弗架構 4. 馮諾伊曼架構&#xff08;Von Neumann Architecture&#xff09; 5. 結構對比 1. 計算機體系結構 計算機體系結構是指計算機系統的組織和實現方式&#xff0c…

Python | Leetcode Python題解之第220題存在重復元素III

題目&#xff1a; 題解&#xff1a; class Solution(object):def containsNearbyAlmostDuplicate(self, nums, k, t):from sortedcontainers import SortedSetst SortedSet()left, right 0, 0res 0while right < len(nums):if right - left > k:st.remove(nums[left]…

Python基礎問題匯總

為什么學習Python&#xff1f; 易學易用&#xff1a;Python語法簡潔清晰&#xff0c;易于學習。廣泛的應用領域&#xff1a;適用于Web開發、數據科學、人工智能、自動化腳本等多種場景。強大的庫支持&#xff1a;擁有豐富的第三方庫&#xff0c;如NumPy、Pandas、TensorFlow等…