CSS的video進度條是用來展示視頻播放進度的。它的實現方法很簡單,只需要用一些CSS樣式就可以了。
.video-player { position: relative; width: 500px; height: 300px; } .video { width: 100%; height: auto; } .progress-container { position: absolute; bottom: 0; left: 0; width: 100%; height: 10px; background-color: #ddd; cursor: pointer; } .progress { position: absolute; bottom: 0; left: 0; width: 50%; height: 100%; background-color: #f00; }
以上是一個簡單的video進度條樣式,其中.video-player是父容器,.video是視頻本身,.progress-container是進度條容器,.progress就是進度條本身。進度條容器的位置設置為absolute,寬度和進度條一樣,高度設為10px,背景色是淺灰色,光標設為指針。
進度條本身的位置也是absolute,寬度是視頻播放的進度,高度是進度條容器的高度,背景色是紅色。這個樣式只是簡單地實現了視頻進度條的樣式,需要結合JS一起使用才能實現功能。
使用JS控制進度條的實現非常簡單,只需要監聽視頻的timeupdate事件,在事件處理函數中更新進度條的寬度即可。具體代碼如下:
var video = document.querySelector('.video'); var progress = document.querySelector('.progress'); video.addEventListener('timeupdate', function() { progress.style.width = (video.currentTime / video.duration) * 100 + '%'; });
以上代碼中,video是視頻元素,progress是進度條元素。監聽video的timeupdate事件,更新進度條的寬度。視頻當前時間除以視頻總時間,得到視頻播放的進度百分比,乘以100再加上%符號,設置給進度條的寬度即可。
以上就是一個簡單的CSS video進度條的實現方法。通過CSS控制進度條的樣式,再結合JS實現功能,可以為網頁的視頻播放提供更加友好的用戶體驗。