[CSS] 틀에 맞추는 스크롤 스냅 만들기 - Scroll Snap

2023. 1. 13. 23:36·개발 아카이브/HTML, CSS
반응형

Scroll Snap
스크롤 스냅

위의 애니메이션처럼 스크롤 하면 틀에 맞게 스크롤 되는 것을 스크롤 스냅 (Scroll Snap) 이라고 합니다.

이 스크롤 스냅도 자바스크립트 없이 오직 CSS로 만들 수 있습니다.

 

코드

.scroll-box.horizon {
    flex-direction: row;
    overflow: auto hidden;
    scroll-snap-type: x mandatory;
}

.scroll-box.vertical {
    flex-direction: column;
    overflow: hidden auto;
    scroll-snap-type: y mandatory; 
}

.item {
    scroll-snap-align: start;
    min-width: 100%;
}

위의 코드중 .scroll-box가 부모 element이며 .item이 자식 element입니다.

 

핵심

- 부모 element는 'scroll-snap-type' 속성을 가지고 있어야 함.

scroll-snap-type은 어느 방향으로 스냅을 줄지, 어떤 타입으로 스냅을 표현할 지를 결정합니다.

위의 코드에서 mandatory 값을 넣었는데, 이는 스크롤이 끝날 때 가까이 있는 스냅 지점까지 보정해줍니다.

 

- 자식 element는 'scroll-snap-align' 속성을 가지고 있어야 함.

scroll-snap-align은 스냅 위치를 정해줍니다.

대표적으로 start, end, center 가 있습니다.

- start는 해당 요소의 부모 컨테이너의 가장 왼쪽 (시작지점)을 스냅 축으로 정합니다.

- end는 해당 요소의 부모 컨테이너의 가장 오른쪽 (끝지점)을 스냅 축으로 정합니다.

- center 는 해당 요소의 부모 컨테이너의 중앙을 스냅 축으로 정합니다.

 

 

 

See the Pen Untitled by wooncloud (@wooncloud) on CodePen.

 

 

 

https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-type

 

scroll-snap-type - CSS: Cascading Style Sheets | MDN

The scroll-snap-type CSS property sets how strictly snap points are enforced on the scroll container in case there is one.

developer.mozilla.org

https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-align

 

scroll-snap-align - CSS: Cascading Style Sheets | MDN

The scroll-snap-align property specifies the box's snap position as an alignment of its snap area (as the alignment subject) within its snap container's snapport (as the alignment container). The two values specify the snapping alignment in the block axis

developer.mozilla.org

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'개발 아카이브 > HTML, CSS' 카테고리의 다른 글

rel 속성 - noopener, noreferrer, nofollow  (0) 2023.05.21
[CSS] 문장 맨 앞 글자 크게 만들기 - Drop Cap 만들기  (0) 2023.01.13
[CSS] 흑백 효과 만들기 - GrayScale  (0) 2023.01.12
[CSS] 잘라낸 텍스트 만들기 / Cut out Text  (0) 2023.01.10
[CSS] background에 fade color 넣기  (0) 2023.01.10
'개발 아카이브/HTML, CSS' 카테고리의 다른 글
  • rel 속성 - noopener, noreferrer, nofollow
  • [CSS] 문장 맨 앞 글자 크게 만들기 - Drop Cap 만들기
  • [CSS] 흑백 효과 만들기 - GrayScale
  • [CSS] 잘라낸 텍스트 만들기 / Cut out Text
운클라우드
운클라우드
프로그래밍, 디자인 및 각종 이야기와 리뷰를 담는 블로그
  • 운클라우드
    Wooncloud Blog
    운클라우드
    • 분류 전체보기
      • 이야기
        • 일기
        • 개발일지
        • 제품 리뷰
        • 기타
      • 정보
        • 유용한 사이트
      • 개발 아카이브
        • HTML, CSS
        • Javascript
        • SVELTEKIT
        • Node Js
        • JAVA
        • Spring
        • 코드 저장소
        • 라이브러리
        • 개발 관련 지식
        • AWS, Cloud, Server
        • DATABASE
      • 스터디
        • 정보처리기사
        • 친절한 SQL 튜닝 스터디
  • 블로그 메뉴

    • 홈
    • 방명록
    • 운구름 웹
    • 벨로그
    • 깃허브
    • 리틀리
    • 도시부엉
  • 최근 글

  • 공지사항

  • 최근 댓글

  • 인기 글

  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.4
운클라우드
[CSS] 틀에 맞추는 스크롤 스냅 만들기 - Scroll Snap
상단으로

티스토리툴바