본문 바로가기
웹 개발/Front End

패럴랙스 스크롤링

by L3m0n S0ju 2021. 11. 8.

 

 

패럴랙스 스크롤링(parallax scrolling)은 사용자가 마우스를 스크롤할 때, 원거리에 있는 배경 이미지는 느리게 움직이게 하고, 근거리에 있는 사물 이미지는 빠르게 움직이도록 함으로써 입체감을 느낄 수 있게 만든 디자인 기법이다. 하나의 이미지를 여러 개의 레이어(layer)로 분리한 후 스크롤에 반응하는 속도를 다르게 조정하는 방식으로 구현한다. 1930년대부터 애니메이션 분야에 사용되던 기법이었으나, 웹 디자인 분야는 HTML5 CSS3 기법이 도입됨으로써 사용이 가능해졌다.    - 위키백과

 

 

 

 

 

 

 

 

 

예제 코드를 살펴보겠습니다.


 

<!DOCTYPE html>

<html lang="ko">

<head>  

    <title>bean o`clock</title>

    <meta charset="utf-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link href="css/parallax.css" rel="stylesheet">

</head>

<body>

    <div id="wrap">  

        <div id="ms1" class="container bg-holder" data-width="1200" data-height="600" style='background-image:url("images/bg01.jpg")'>

            <section class="content">          

                <h3>It's bean o'clock</h3>

                <p>더치커피와 원두커피 전문 쇼핑몰 빈어클락입니다.              

                    <div class='icon'><img src='images/icon_view.png'></div>

                </p>

            </section>

        </div>

        <div id="ms2" class="container bg-holder" data-width="1200" data-height="600" style='background-image:url("images/bg02.jpg")'>

            <section class="content">

                <h3>Cold brewed coffee</h3>

                <p> 믿을 수 있는 고품질의 더치커피를 찾으신다면<br>

                지금 바로 주문하세요!                        

                    <div class='icon'><img src='images/icon_order.png'></div>

                </p>

            </section>

        </div>

        <div id="ms3" class="container bg-holder" data-width="1200" data-height="600" style='background-image:url("images/bg03.jpg")'>

            <section class="content">

                <h3>Roasted bean</h3>

                <p> 주문 후 로스팅한 신선한 원두를<br>

                만나보고 싶다면 지금 바로 주문하세요!

                    <div class='icon'><img src='images/icon_order.png'></div>

                </p>

            </section>

        </div>

    </div>

 


위 코드는 html head, body 부분이다. 코드 중에 패럴랙스 스크롤링과 관련된 부분은 ms1, ms2, ms3에서 class="container 뒤에 bg-holder 부분인데 쉽게 말하면 컨테이너라는 블록에 배경을 설정하는 부분에 bg-holder라는 함수를 불러와서 실행하는데 bg-holder 함수는 이후 javascript 부분에서 가져옵니다.

 

 

 

 

 

 

    <script src="js/jquery-2.2.4.min.js"></script>

    <script src="js/jquery.parallax-scroll.min.js"></script>

    <script>

        $(function() {

            $(window).resize(function(){

                $('.container').width($(window).width).height($(window).heifht());

            })

            setTimeout(function(){

                $(window).resize()

            }, 1000)

            $('.bg-holder').parallaxScroll({

                friction: 0.3

            });

            $('.icon img').hover(function() {

                $(this).attr('src', $(this).attr('src').replace('.png', '_over.png'));              

            }, function() {

                $(this).attr('src', $(this).attr('src').replace('_over.png', '.png'));

            });

        });

    </script>

</body>

</html>

 


1초마다 resize함수를 실행하여 창 크기에 따라 블록 크기를 조절하고 bg-holder에서 fiction 값을 조절하여 배경과 글의 속도 차이를 조절할 수 있다.

 

 

'웹 개발 > Front End' 카테고리의 다른 글

캐러셀  (0) 2021.11.08
유튜브 동영상 풀 스크린 배경으로 사용하기  (0) 2021.11.08
풀 스크린 배경  (0) 2021.11.08
CSS 그리드 레이아웃  (0) 2021.11.08
플렉스 박스란?  (0) 2021.11.08

댓글