![干貨來了|滾動視差?CSS 不在話下_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/a9fdce54-61ca-46d7-9261-420287e4cb7e/a9fdce54-61ca-46d7-9261-420287e4cb7e1.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、干貨來了滾動視差?css 不在話下何為滾動視差視差滾動(parallax scrolling)是指讓多層背景以不同的速度移動,形成立體的運動效果,帶來十分精彩的視覺體驗。 作為網頁設計的熱點趨勢,越來越多的網站應用了這項技術。 通常而言,滾動視差在前端需要輔助 javascript 才干實現(xiàn)。固然,其實 css 在實現(xiàn)滾動視差效果方面,也有著不俗的能力。下面就讓我們來見識一二:熟悉 background-attachmentbackground-attachment 算是一個比較生僻的屬性,基本上平常寫業(yè)務樣式都用不到這個屬性。但是它本身很故意思。background-attachment:假
2、如指定了 background-image ,那么 background-attachment 打算背景是在視口中固定的還是隨著包含它的區(qū)塊滾動的。單單從定義上有點難以理解,隨下面幾個 demo 了解下 background-attachment 到底是什么意思:background-attachment: scrollscroll 此關鍵字表示背景相對于元素本身固定, 而不是隨著它的內容滾動。background-attachment: locallocal 此關鍵字表示背景相對于元素的內容固定。假如一個元素擁有滾動機制,背景將會隨著元素的內容滾動, 并且背景的繪制區(qū)域和定位區(qū)域是相對于可滾
3、動的區(qū)域而不是包含他們的邊框。background-attachment: fixedfixed 此關鍵字表示背景相對于視口固定。即使一個元素擁有滾動機制,背景也不會隨著元素的內容滾動。注重一下 scroll 與 fixed,一個是相對元素本身固定,一個是相對視口固定,有點類似 position 定位的 absolute 和 fixed??梢愿杏|下 3 種不同取值的不同效果:codepen demo — bg-attachment demo(https:/codepen.io/chokcoco/pen/xjjorg)用法 background-attachment: fixed 實
4、現(xiàn)滾動視差首先,我們用法 background-attachment: fixed 來實現(xiàn)滾動視差。fixed 此關鍵字表示背景相對于視口固定。即使一個元素擁有滾動機制,背景也不會隨著元素的內容滾動。這里的關鍵在于,即使一個元素擁有滾動機制,背景也不會隨著元素的內容滾動。也就是說,背景圖從一開頭就已經被固定死在初始所在的位置。我們用法,圖文混合排布的方式,實現(xiàn)滾動視差,html 結構如下,.g-word 表示內容結構,.g-img 表示背景結構:headerimg1content1img2content2img3footer關鍵 css:section height: 100vh;.g-img
5、 background-image: url(.);background-attachment: fixed;background-size: cover;background-position: center center;效果如下: codepen demo — https:/codepen.io/chokcoco/pen/jbaqoy(https:/codepen.io/chokcoco/pen/jbaqoy)嗯?有點奇特,為什么會是這樣呢?可能無數(shù)人會和我一樣,第一次接觸這個屬性對這樣的效果感到懵逼。我們把上面 background-attachment: fixed 注釋
6、掉,或者改為 background-attachment: local,再看看效果: codepen demo — bg-attachment:local(https:/codepen.io/chokcoco/pen/zjmdjz)這次,正常尾隨滾動條滾動了,按常理,這種效果才符合我們大腦的思維。而滾動視差效果,正是不按常理出牌的一個效果,重點來了:當頁面滾動到應當浮現(xiàn)的位置,被設置了 background-attachment: fixed 的并不會繼續(xù)尾隨頁面的滾動而尾隨上下移動,而是相對于視口固定死了。好,我們再來試一下,假如把全部 .g-word 內容區(qū)塊都去掉,只剩下所有
7、設置了 background-attachment: fixed 的背景圖區(qū)塊,會是怎么樣呢?html 代碼如下:img1img2img3section height: 100vh;.g-img background-image: url(.);background-attachment: fixed;background-size: cover;background-position: center center;效果如下: codepen demo(https:/codepen.io/chokcoco/pen/omprgz)結合這張 gif,信任能對 background-attachme
8、nt: fixed 有個更深刻的熟悉,移動的惟獨視口,而背景圖是向來固定死的。綜上,就是 css 用法 background-attachment: fixed 實現(xiàn)滾動視差的一種方式,也是相對而言比較簡單的一種。固然,background-attachment: fixed 本身的效果并不僅只是能實用來實現(xiàn)滾動視差效果,合理運用,還可以實現(xiàn)其他無數(shù)好玩的效果,這里容易再列一個:background-attachment: fixed 實現(xiàn)點擊水紋效果利用相對視口固定,可以有無數(shù)好玩的效果,譬如下面這個,來源于這篇文章css water wave (水波效果): codepen demo &m
9、dash; bg-attachment:fixed wave(https:/codepen.io/chokcoco/pen/wxyzwo)利用相對視口固定的特性實現(xiàn)點擊的水紋效果。上面這個效果有點瑕疵,在放大容器變大的過程中發(fā)生了顯然的顫動。固然,效果還是可以的,background-attachment 還有無數(shù)故意思的效果可以挖掘。用法 transform: translate3d 實現(xiàn)滾動視差言歸正傳,下面介紹另外一種用法 css 實現(xiàn)的滾動視差效果,利用的是 css 3d。原理就是: 我們給容器設置上 transform-style: preserve-3d 和 perspective
10、: xpx,那么處于這個容器的子元素就將位于3d空間中, 再給子元素設置不同的 transform: translatez(),這個時候,不同元素在 3d z軸方向距離屏幕(我們的眼睛)的距離也就不一樣 滾動滾動條,因為子元素設置了不同的 transform: translatez(),那么他們滾動的上下距離 translatey 相對屏幕(我們的眼睛),也是不一樣的,這就達到了滾動視差的效果。 關于 transform-style: preserve-3d 以及 perspective 本文不做過多篇幅綻開,默認讀者都有所了解,還不是特殊清晰的,可以先了解下 css 3d。核心代碼表示就是:
11、translatez(-1)translatez(-2)translatez(-3)html height: 100%;overflow: hidden;body perspective: 1px;transform-style: preserve-3d;height: 100%;overflow-y: scroll;overflow-x: hidden;.g-container height: 150%;.section-one transform: translatez(-1px);.section-two transform: translatez(-2px);.section-thre
12、e transform: translatez(-3px);總結就是父元素設置 transform-style: preserve-3d 和 perspective: 1px,子元素設置不同的 transform: translatez,滾動滾動條,效果如下: codepen demo — css 3d parallax(https:/codepen.io/chokcoco/pen/epoerm)很顯然,當滾動滾動條時,不同子元素的位移程度從視覺上看是不一樣的,也就達到了所謂的滾動視差效果。滾動視差文字陰影/虛影效果那么,運用 translate3d 的視差效果,又能有一些什么有趣的效果呢?下面這個滾動視差文字陰影/虛影效果很故意思: codepen demo — css translate3d parallax(https:/codepen.io/chokcoco/pen/xbgbbp)固然,通過調節(jié)參數(shù)(perspective: ?px 以及 transform: translatez(-?px);),還能有其他很故意思的效果浮現(xiàn): codepen demo &md
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度棒球場租賃與賽事宣傳合作合同
- 人力資源公司合作合同
- 食堂承包合同書
- 交通運輸行業(yè)智能交通出行服務平臺方案
- 服裝廠縫紉機設備買賣合同書
- 物流市場分析與規(guī)劃作業(yè)指導書
- 買賣房屋交接合同協(xié)議書
- 人工智能系統(tǒng)開發(fā)與部署作業(yè)指導書
- 帶擔保的借款合同
- 工業(yè)互聯(lián)網背景下智能倉儲管理解決方案
- 2024版2024年《咚咚鏘》中班音樂教案
- 賽力斯招聘在線測評題
- DB61∕T 1854-2024 生態(tài)保護紅線評估調整技術規(guī)范
- GA 2139-2024警用防暴臂盾
- DL∕T 5810-2020 電化學儲能電站接入電網設計規(guī)范
- 人教版高中物理必修二同步練習及答案
- 《行政倫理學教程(第四版)》課件 第7、8章?行政人格、行政組織倫理
- 2023年4月自考00504藝術概論試題及答案含解析
- 美麗的大自然(教案)2023-2024學年美術一年級下冊
- 2024年低壓電工考試題庫(試題含答案)
- 成都特色民俗課件
評論
0/150
提交評論