일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 기본값매개변수
- 타입스크립트
- 전개구문
- html
- Clipboard.writeText()
- CSS3
- ES6
- React
- javascript reduce메소드
- CSS
- javascript style
- CLASS
- map
- js6
- Typescript
- javascript some
- factoryfunction
- method
- every method
- reducemethod
- Javscript
- javascript
- filter메소드
- map메소드
- typescipt
- 단일스레드
- javascript every
- defalutparameter
- 교차타입
- 나머지매개변수
- Today
- Total
개발일지
스크롤 스냅 타입 본문
scroll-snap-type 속성
기존에 Java Script을 활용해야 사용했던 Scroll-Sanp을 CSS를 활용해서 사용할 수 있게 되었다.
웹 페이지에서 화면을 한번만 스크롤해도 scroll-snap를 설정해 놓은 페이지화면으로 넘어갈 수 있게 된다.
scroll-snap-type
snap position을 지정할 수 있는 축을 결정하는 Scroll Snap Axis, 스냅의 엄격도를 지정하는 Scroll Snap Strictness 를 함께 선언합니다.
scroll snap axis
x: 수평(가로) 축으로 snap position 지정
y: 수직(세로) 축으로 snap position 지정
block: snap area의 block 축으로 지정
inline: inline 축으로 지정
both: 두 축의 위치를 개별적으로 스냅. 잠재적으로 각 축의 다른 요소에 스냅이 가능.
scroll snap strictness
none: 스냅하지 않음.
proximity: snap position을 지정하였다면 해당 설정에 맞춰 스냅하고, 미지정 상태라면 유저 에이전트에 따릅니다.
mandatory: 항상 스냅.
scroll-snap-align
snap position은 snap area 안에서 원하는 정렬 방식을 설정할 수 있습니다.
scroll-snap-type에서 지정한 축을 기준으로 snap area의 정렬을 정합니다.
none: snap position을 지정하지 않음
start: 축을 기준으로 snap area의 시작 부분에 맞춰 정렬
end: snap area의 끝에 맞춰 정렬
center: snap area의 가운데에 맞춰 정렬
scroll-padding
Scroll Container에 선언하지만, 해당 요소의 padding 값이 변경되는 것이 아니고, 해당 뷰포트의 padding이 적용됩니다.
Scroll Contatiner에 선언한 수치만큼 snapport가 조정되기 때문에 스크롤 할 수 있는 영역이 줄어들고
레이아웃, 스크롤 원점, 요소의 위치, 실제로 보여지는 것에는 영향을 주지 않습니다.
다음의 CSS를 적용해봤습니다.
scroll-snap-type:y mandatory; scroll-padding: 50px;
|
scroll-margin
스냅 타겟이 되는 snap area에 지정하며, scroll-padding과 동일하게 실제 요소에 영향을 미치지 않습니다.
다음의 CSS 적용했습니다. 두번째 상자에만 적용
.snap-area:nth-of-type(2) { scroll-margin: 100px; }
|
'css > css3' 카테고리의 다른 글
transform (0) | 2022.08.01 |
---|---|
font (0) | 2022.07.29 |
background (0) | 2022.07.29 |
box-shadow (0) | 2022.07.28 |
css 선택자 (0) | 2022.07.28 |