CSS ã¹ã¯ãã¼ã«ã¹ããã
CSS ã¹ã¯ãã¼ã«ã¹ããã (CSS scroll snap) ã¢ã¸ã¥ã¼ã«ã¯ãã¹ãããä½ç½®ãå®ç¾©ãããã¨ã§ããã³ããã³ã¹ã¯ãã¼ã«ã®åä½ãå¶å¾¡ããããã®ããããã£ãæä¾ãã¾ããã¦ã¼ã¶ã¼ãã¹ã¯ãã¼ã«ã³ã³ããã¼å ã®ã¹ã¯ãã¼ã«å¯è½ãªã³ã³ãã³ããã¹ã¯ãã¼ã«ããã¨ãã³ã³ãã³ãã¯æå®ãããä½ç½®ã«ã¹ãããããããã¼ã¸ã³ã°ããã³ã¹ã¯ãã¼ã«ä½ç½®æå®ã®æ©è½ãæä¾ãã¾ãã
ãã®ã¢ã¸ã¥ã¼ã«ã«ã¯ãã¹ã¯ãã¼ã«ã³ã³ããã¼ã® scroll-padding ããããã£ç¾¤ãããããã¥ã¼ã«å ¥ã£ã¦ããã¹ã¯ãã¼ã«æä½ä¸ã«ããã¼ã¸åãæ¿ãæã®æé©ãªãã¥ã¼é åã«èª¿æ´ãããã¨ãã§ãã¾ããã¾ããã¹ã¯ãã¼ã«ã³ã³ããã®åè¦ç´ ã«è¨å®ããã scroll-margin ããã³ scroll-alignment ããããã£ããããåè¦ç´ ãç»é¢ã«ã¹ã¯ãã¼ã«ãããã¨ãã®è¦è¦çãªé åã調æ´ãããã¨ãã§ãã¾ããããã«ãåã ã®åè¦ç´ ã§ã¹ã¯ãã¼ã«ãå¼·å¶çã«åæ¢ãããããããã£ãå«ã¾ãã¦ãã¾ãã
ã¹ã¯ãã¼ã«ã¹ãããã®åã
ä¸ã®ããã¯ã¹ã§ã¹ã¯ãã¼ã«ã¹ãããã確èªããã«ã¯ãã¹ã¯ãã¼ã«å¯è½ãªãã¥ã¼ãã¼ãå ã® 45 åã®çªå·ä»ãããã¯ã¹ã®ã°ãªãããä¸ä¸å·¦å³ã«ã¹ã¯ãã¼ã«ãã¦ãã ããã ä¸ã®ä¾ã® "Play" ãã¯ãªãã¯ããã¨ãã½ã¼ã¹ã MDN Playground ã§è¦ããç·¨éããããããã¨ãã§ãã¾ãã
ã¹ã¯ãã¼ã«ã¹ãããã使ç¨ããã¨ãã¹ã¯ãã¼ã«ããçªå·ä»ãããã¯ã¹ã® 1 ã¤ãæå®ã®ä½ç½®ã«ã¹ããããã¾ããåæ CSS ã§ã¯ãçªå·ä»ãããã¯ã¹ã¯ãã¥ã¼ãã¼ãã®ä¸å¤®ã«ã¹ããããã¾ããã¹ã©ã¤ãã¼ã使ç¨ãã¦ããããã¯ããã³ã¤ã³ã©ã¤ã³ã®ã¹ãããä½ç½®ã夿´ãã¾ãã
ã¹ãããããããã£ã使ç¨ããã¨ãè¦ç´ ï¼ãã®å ´åã¯çªå·ä»ãããã¯ã¹ï¼ãã¹ã¯ãã¼ã«ãã¦è¶ãããã¨ã許å¯ã¾ãã¯ãããã¯ãããã¨ãã§ãã¾ãããããã¯ã¹ãè¶ãã¦ã¹ã¯ãã¼ã«ããªãããã§ãã¯ããã¯ã¹ã鏿ããã¨ããã¹ã¦ã®ã¹ã¯ãã¼ã«æä½ã飿¥ããããã¯ã¹ã¸ã®ã¹ã¯ãã¼ã«ã«å¶éããã¾ãã
ã¹ã¯ãã¼ã«ã¹ãããã¨é常ã®ã¹ã¯ãã¼ã«ãæ¯è¼ããã«ã¯ããã¹ããããç¡å¹ã«ããããã§ãã¯ããã¯ã¹ããªã³ã«ãã¦ãããä¸åº¦ã¹ã¯ãã¼ã«ãã¦ã¿ã¦ãã ããã
ãªãã¡ã¬ã³ã¹
>ã³ã³ããã¼ã® CSS ããããã£
åã® CSS ããããã£
ã¤ãã³ã
ã¤ã³ã¿ã¼ãã§ã¤ã¹
ã¬ã¤ã
- CSS ã¹ã¯ãã¼ã«ã¹ãããã®åºæ¬æ¦å¿µ
-
CSS ã®ã¹ã¯ãã¼ã«ã¹ãããæ©è½ã®æ¦è¦ã¨ä¾ã§ãã
- ã¹ã¯ãã¼ã«ã¹ãããã¤ãã³ãã®ä½¿ç¨
-
ã¹ã¯ãã¼ã«ã¹ãããã¤ãã³ãã§ãã
scrollsnapchangingããã³scrollsnapchangeã®ä½¿ç¨æ¹æ³ã«é¢ããã¬ã¤ãã§ãããã©ã¦ã¶ã¼ãæ°ããã¹ãããã¿ã¼ã²ãããä¿çä¸ã¾ãã¯é¸æããã¦ããã¨å¤æããã¨ãã«çºçãã¾ãã
é¢é£æ¦å¿µ
:targetæ¬ä¼¼ã¯ã©ã¹- CSS ã®
overflowãããã㣠- Element ã®
scroll()ã¡ã½ãã - Element ã®
scrollBy()ã¡ã½ãã - Element ã®
scrollIntoView()ã¡ã½ãã - Element ã®
scrollTo()ã¡ã½ãã - Element ã®
scrollã¤ãã³ã - Element ã®
scrollendã¤ãã³ã scrollbarARIA ãã¼ã«- ç¨èª: ã¹ã¯ãã¼ã«ã³ã³ããã¼
仿§æ¸
| 仿§æ¸ |
|---|
| CSS Scroll Snap Module Level 1 > |
| CSS Scroll Snap Module Level 2 > |
ãã©ã¦ã¶ã¼ã®äºææ§
- CSS ãªã¼ãã¼ããã¼ã¢ã¸ã¥ã¼ã«
- CSS ã¹ã¯ãã¼ã«ãã¼ã¹ã¿ã¤ã«è¨å®ã¢ã¸ã¥ã¼ã«
- CSS ã¹ã¯ãã¼ã«åºå®ã¢ã¸ã¥ã¼ã«
- Keyboard-only scrolling areas on adrianroselli.com (2022)
- Scroll snap examples on CodePen (2022)
- Well-controlled scrolling with CSS scroll snap on web.dev (2021)
- Practical CSS scroll snapping/ on CSS-Tricks (2020)
- CSS scroll snap on 12 Days of Web (2019)