摘要:漸近增強(qiáng)剛好最近看到這篇文章,如果結(jié)合每次滾動(dòng)的時(shí)候每個(gè)條目始終在中間這樣效果就更好了。效果如下查看瀏覽器支持情況遺憾的是目前只有和上的和原生支持需要前綴,好在這種可以當(dāng)做漸進(jìn)增強(qiáng),即使瀏覽器不支持也不影響功能。
前言
前幾天在 segmentfault 上看到有人問(wèn)下面這個(gè)效果(segmentfault app 中的)怎么實(shí)現(xiàn),感覺(jué)這個(gè)效果體驗(yàn)還不錯(cuò)(在移動(dòng)端沒(méi)有滾動(dòng)條的情況能夠提示有更多內(nèi)容可以滾動(dòng)),就用 overflow-x: auto + width: 80% 在 codepen 上寫(xiě)了個(gè) demo。
漸近增強(qiáng)剛好最近看到這篇文章 Introducing CSS Scroll Snap Points ,如果結(jié)合 Scroll snap points 每次滾動(dòng)的時(shí)候每個(gè)條目始終在中間這樣效果就更好了。
.snap-slider { overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: mandatory; scroll-snap-destination: 50% 0; &__scroller { display: table; text-align: center; } &__item { scroll-snap-coordinate: 50% 0%; display: table-cell; line-height: 150px; font-size: 2em; &:not(:first-child) { border-left: 1px solid #ccc; } } &__width { width: 80vw; } }
屬性的具體介紹,參考本文最后的參考鏈接。
效果如下:
查看 Demo
瀏覽器支持情況遺憾的是目前(7/9/2016)只有 Firefox 和 iOS 上的 Safari 和 Chrome 原生支持(需要前綴),好在這種可以當(dāng)做漸進(jìn)增強(qiáng),即使瀏覽器不支持也不影響功能。
PS:這里有個(gè) polyfill,但是本例中加了似乎不起作用。
參考https://css-tricks.com/introducing-css-scroll-snap-points/
https://webkit.org/blog/4017/scroll-snapping-with-css-snap-points/
http://codepen.io/collection/XjOwrq/
原文地址:https://uedsky.com/2016-07/css-scroll-snap-points/
獲取最佳閱讀體驗(yàn)并參與討論,請(qǐng)?jiān)L問(wèn)原文
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/111347.html
摘要:過(guò)去滾動(dòng)捕捉只能通過(guò)實(shí)現(xiàn),但現(xiàn)在得益于新的滾動(dòng)捕捉模塊,這種效果已經(jīng)可以通過(guò)實(shí)現(xiàn)了。同時(shí)令人慶幸的是瀏覽器可以根據(jù)用戶的滾動(dòng)方式自動(dòng)控制并判斷是否利用捕捉點(diǎn)捕捉。 特別聲明,本文翻譯自@alligatorio的Control Page Scroll in CSS Using Scroll Snapping一文,受限于譯者能力,譯文或存在不足,歡迎大家指出。如需轉(zhuǎn)載,煩請(qǐng)注明出處。 滾...
摘要:過(guò)去滾動(dòng)捕捉只能通過(guò)實(shí)現(xiàn),但現(xiàn)在得益于新的滾動(dòng)捕捉模塊,這種效果已經(jīng)可以通過(guò)實(shí)現(xiàn)了。同時(shí)令人慶幸的是瀏覽器可以根據(jù)用戶的滾動(dòng)方式自動(dòng)控制并判斷是否利用捕捉點(diǎn)捕捉。 特別聲明,本文翻譯自@alligatorio的Control Page Scroll in CSS Using Scroll Snapping一文,受限于譯者能力,譯文或存在不足,歡迎大家指出。如需轉(zhuǎn)載,煩請(qǐng)注明出處。 滾...
摘要:最好給瀏覽器或者毫秒的間隙再去初始化。他們控制滾動(dòng)周期毫秒級(jí)別和動(dòng)畫(huà)的擦除效果。重新繪制階段不是瞬時(shí)發(fā)生的只是范圍結(jié)束時(shí)觸發(fā)。注如果你有一個(gè)相當(dāng)復(fù)雜的結(jié)構(gòu),你應(yīng)該給瀏覽器更多的執(zhí)行事件,可以設(shè)置到毫秒的超時(shí)時(shí)間。使用方法注冊(cè)事件。 入門(mén) Scroll是一個(gè)類(lèi),每個(gè)需要使用滾動(dòng)功能的區(qū)域均要進(jìn)行初始化。每個(gè)頁(yè)面上的iScroll實(shí)例數(shù)目在設(shè)備的CPU和內(nèi)存能承受的范圍內(nèi)是沒(méi)有限制的。 盡...
摘要:處理函數(shù)處理函數(shù)都是和檢測(cè)事件對(duì)應(yīng)的,每一類(lèi)檢測(cè)事件都有相應(yīng)的處理函數(shù)。為時(shí),會(huì)將等事件綁定到的對(duì)象。可通過(guò)對(duì)進(jìn)行銷(xiāo)毀。注冊(cè)事件,可注冊(cè)的函數(shù)類(lèi)型為下一小節(jié)函數(shù)。 做了一些移動(dòng)端的產(chǎn)品,發(fā)現(xiàn)一些滾動(dòng)效果很多會(huì)使用 iscroll 作為底層庫(kù)(如阿里小蜜)。iscroll 的文檔已經(jīng)好久沒(méi)更新了,而且比較簡(jiǎn)單,經(jīng)常需要直接讀源碼。這里寫(xiě)一篇總結(jié),作為對(duì) iscroll API的整理。而 ...
閱讀 2563·2021-07-26 23:38
閱讀 3460·2019-08-30 13:10
閱讀 2351·2019-08-29 18:33
閱讀 2349·2019-08-29 16:12
閱讀 1028·2019-08-29 10:59
閱讀 1821·2019-08-26 17:40
閱讀 802·2019-08-26 11:59
閱讀 841·2019-08-26 11:41