본문 바로가기

아래로 스크롤 해주세요!

My Reference Book

-

제가 배웠던것을 한곳에 정리해보았어요!

HTML

HTML 태그 톺아보기

HTML

자세히보기

CSS

CSS 속성 톺아보기

CSS

자세히보기

JAVASCRIPT

JS 실행문 톺아보기

JAVASCRIPT

자세히보기

최신댓글

TIP

스크롤할때 다음 이미지에 자동으로 딱 멈춰주는 효과를 구현해보자! : scroll-snap-type 사용

by C0Di 2022. 9. 18.
728x90

스크롤시 다음 요소에 딱! 멈춰주는 듯한 효과를 CSS로 줘보자!

저번에 올렸던 prefers-color-scheme 을 통해 간단하게 다크모드를 구현했던것처럼 이번에도 간단한 방법이 있길래 올려봤어요!
홈페이지를 둘러보면 스크롤을 할때 무언가 탁탁 걸린듯한 원하는 item에 스크롤이 멈추는 효과가 적용되어있는 홈페이지가 있지 않나요?
이번에는 그 효과를 CSS를 통해서 간단한 문구 추가로 구현이 가능하기에 적어보았습니다 ^----^


HTML 코드 : 간단한 예제용

저는 간단한 예제를 본문에 첨부하기위해 하단과 같이 사용했어요!
클래스는 좀 더 직관적이게 [ slider_view / slider_move / item ] 라고 편하게 적었습니다~
* 사실 이래야 제가 보기 편했어요....

<div class="slider_view">  <!--이미지를 보여줄 영역-->
    <div class="slider_move"> <!--이미지가 담긴 틀을 움직여줄 영역-->
        <img class="item" src="../../../site/site1/assets/img/bg01_01.jpg" alt=""> <!--움직여질 n번 이미지-->
        <img class="item" src="../../../site/site1/assets/img/bg01_02.jpg" alt=""> <!--움직여질 n번 이미지-->
        <img class="item" src="../../../site/site1/assets/img/card_bg01_01.jpg" alt=""> <!--움직여질 n번 이미지-->
        <img class="item" src="../../../site/site1/assets/img/card_bg01_02.jpg" alt=""> <!--움직여질 n번 이미지-->
        <img class="item" src="../../../site/site1/assets/img/card_bg01_03.jpg" alt=""> <!--움직여질 n번 이미지-->
        <img class="item" src="../../../site/site1/assets/img/slider_bg01.jpg" alt=""> <!--움직여질 n번 이미지-->
        <img class="item" src="../../../site/site1/assets/img/slider_bg02.jpg" alt=""> <!--움직여질 n번 이미지-->
        <img class="item" src="../../../site/site1/assets/img/slider_bg03.jpg" alt=""> <!--움직여질 n번 이미지-->
    </div>
</div>

CSS 코드 : 간단한 예제용

1. 부모요소에 "scroll-snap-type" 을 정하셔야 아이템 요소에 적용이 가능해요.
2. 부모요소에 적용한 속성은 "x(가로) 또는 y(세로)" + mandatory 로 설정해 사용하세요!
3. 각 이미지에 "scroll-snap-align" 을 "start"로 설정해주세요! * 저는 예시에 사용한 이미지의 크기(높이/너비)가 각각 달라서 item에 추가적으로 아래와 같은 설정을 하였습니다. * object-fit: cover = 요소에 정해놓은 크기에 가능한 맞게끔 조정되고 정 비율로 확대시켜 줍니다.

.slider_view{
    overflow: hidden;
    width: 400px;
    height: 274px;
}
.slider_move{
    display: flex;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
}
.slider_move_vertical{
    height: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
    scroll-snap-type: y mandatory;
}
.item{
    width: 400px;
    object-fit: cover;
    scroll-snap-align: start;
}

완성!

저번 다크모드에 이어 이번것도 이게 전부라서 글을 올려봤어요...🙄💦
그래도 간단한 방법을 통해 js 없이 고급스러운 방식을 구현 할 수 있다는것에 초점을 맞춰보면
나중에 필요하실때 사용하시면 좋을거 같아요 😚

scroll-snap-type : x mandatory

가로 스크롤(X축) 입니다.

* PC버전에서 스크롤시 SHIFT을 누른 상태에서 스크롤을 하셔야합니다.

scroll-snap-type : y mandatory

세로 스크롤(Y축) 입니다.

* 마우스로 그냥 스크롤 하시면 됩니다.

728x90
반응형

'TIP' 카테고리의 다른 글

오답노트 정리 03  (1) 2022.10.24
오답노트_02 정리 👩🏻‍💻  (1) 2022.10.07
즐거운 오답노트~~🌸  (9) 2022.10.03
비쥬얼 스튜디오 코드에 SASS 세팅하기  (7) 2022.09.19
프리티어가 적용되지 않는다면?  (4) 2022.09.05

댓글

#HASH_TAGS

-

1

오늘도 웹표준은.. Method 화사한가요? 오징어 1Kg 당 3000원 제이쿼리 멈추지 않는 ' j ' 시리-즈 다크모드 오늘은 내가바로 오징어! 슬라이드 결과 : 월요일 JQuery 선택해주세요 울적하니 꽃을 달아봤습니다 내일은 즐거운 월요일 오늘 조업 마감했습니다. 메서드 필터선택자 공부 테스트 HTML ImageSlideEffect 이건 또 뭐람 scroll-snap-type 오징어 두마리 포획 완료 코딩 오징어 한마리 수확 완료! 숙제가 다양해서 너무 좋아요 테스트테스트 scroll-snap-align 코드