使用純CSS實(shí)現(xiàn)網(wǎng)頁(yè)閱讀進(jìn)度條

為了構(gòu)建一個(gè)閱讀進(jìn)度條,即顯示用戶向下滾動(dòng)時(shí)閱讀文章的進(jìn)度,很難不考慮 JavaScript。但是,事實(shí)證明,您也可以使用純 CSS 構(gòu)建閱讀進(jìn)度條。
從本質(zhì)上講,一個(gè)名為 animation-timeline 的新實(shí)驗(yàn)性 CSS 屬性可以讓你指定用于控制 CSS 動(dòng)畫進(jìn)度的時(shí)間軸。我們將用它來(lái)創(chuàng)建閱讀進(jìn)度條。
首先,我們需要定義一個(gè)用作進(jìn)度條的 div
元素。我們將使用一個(gè)固定在視口頂部的容器來(lái)包裝這個(gè) div
。這將確保用戶向下滾動(dòng)頁(yè)面時(shí)進(jìn)度條始終可見。
<div class="progress-bar-container"> <div class="progress-bar"></div> </div> <div class="content"> <!-- content goes here --> </div>
接下來(lái),我們將定義進(jìn)度條的樣式。我們將設(shè)置 progress-bar-container
固定在視口頂部并調(diào)整其背景顏色,該顏色始終對(duì)用戶可見。我們還將 progress-bar
設(shè)置為 100%
寬度。
.progress-bar-container { position: fixed; top: 0px; width: 100%; background: #6c2fa2; z-index: 999; }
現(xiàn)在,為了使進(jìn)度條動(dòng)畫化,我們將為 progress-bar
使用不同的背景顏色,并將其高度設(shè)置為 7px
。我們還將 animation-name
設(shè)置為 width
,這實(shí)際上將進(jìn)度條的寬度從 0
動(dòng)畫到 100%
。
最后,我們將 animation-timeline
設(shè)置為 scroll(y)
,將動(dòng)畫時(shí)間軸綁定到視口的垂直滾動(dòng)位置。這將確保當(dāng)用戶向下滾動(dòng)頁(yè)面時(shí)進(jìn)度條具有動(dòng)畫效果。
.progress-bar { height: 7px; background: #e131ff; animation-name: width; /* animation timeline is tied to vertical scroll position */ animation-timeline: scroll(y); } @keyframes width { from { width: 0 } to { width: 100% } }
就是這樣!您可以在下面看到它的實(shí)際效果。
由于 animation-timeline
屬性仍處于實(shí)驗(yàn)階段,因此并非所有瀏覽器(準(zhǔn)確地說(shuō)是 Firefox 和 Safari)都支持它。
您可以檢查瀏覽器的兼容性并據(jù)此使用。
以上就是使用純CSS實(shí)現(xiàn)網(wǎng)頁(yè)閱讀進(jìn)度條的詳細(xì)內(nèi)容,更多關(guān)于CSS網(wǎng)頁(yè)閱讀進(jìn)度條的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
僅僅使用 HTML/CSS 實(shí)現(xiàn)各類進(jìn)度條的方式匯總
這篇文章主要介紹了僅僅使用 HTML/CSS 實(shí)現(xiàn)各類進(jìn)度條的方式匯總,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-08css 實(shí)現(xiàn)圓形漸變進(jìn)度條效果的示例代碼
這篇文章主要介紹了css 實(shí)現(xiàn)圓形漸變進(jìn)度條效果的示例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-24利用css3實(shí)現(xiàn)進(jìn)度條效果及動(dòng)態(tài)添加百分比
這篇文章主要介紹了利用css3實(shí)現(xiàn)進(jìn)度條效果及動(dòng)態(tài)添加百分比,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)2020-06-01css 橫向進(jìn)度條和豎向進(jìn)度條實(shí)現(xiàn)代碼
這篇文章主要介紹了css 橫向進(jìn)度條和豎向進(jìn)度條實(shí)現(xiàn)代碼,有時(shí)候看一些不錯(cuò)的滾動(dòng)條效果不錯(cuò),這里給大家分享一下如果用css實(shí)現(xiàn)2020-04-14使用CSS3實(shí)現(xiàn)環(huán)形進(jìn)度條效果
這篇文章主要介紹了使用CSS3實(shí)現(xiàn)環(huán)形進(jìn)度條效果,需要的朋友可以參考下2018-06-01css 進(jìn)度條的文字根據(jù)進(jìn)度漸變的示例代碼
這篇文章主要介紹了css 進(jìn)度條的文字根據(jù)進(jìn)度漸變的示例代碼,介紹了進(jìn)度條里面的文字需要根據(jù)進(jìn)度的長(zhǎng)度而變化,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一2018-01-09手把手教你用CSS實(shí)現(xiàn)帶箭頭的流程進(jìn)度條
這篇文章主要給大家介紹了利用CSS實(shí)現(xiàn)帶箭頭的流程進(jìn)度條大方法,文中給出了詳細(xì)的示例代碼,對(duì)大家具有一定的參考價(jià)值,有需要的朋友們一起來(lái)看看吧。2017-01-22CSS實(shí)現(xiàn)進(jìn)度條和訂單進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了CSS進(jìn)度條和訂單進(jìn)度條的制作方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-12- 純css做漂亮好看的進(jìn)度條,看了絕對(duì)不后悔。2010-05-31
- [html] <style> #graphbox{ border:1px solid #e7e7e7; padding:10px; width:250px; background-color:#f8f8f8; margin:5px 0; } #graphbox h2{ color:#662009-03-30