웹 프론트엔드 CSS 튜토리얼 CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다.

CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다.

May 08, 2017 am 11:35 AM
css3 전체 화면 스크롤

이 글에서는 주로 fullPage를 소개합니다.js와 CSS3를 사용하여 전체 화면 스크롤 효과를 얻을 수 있는데, 이는 관심 있는 친구들이 참고할 수 있습니다

우선 이야기해 보겠습니다. fullpage는 jquery 플러그인으로, 마우스를 위아래로 슬라이드하면 자동으로 이전 화면이나 다음 화면으로 전환되는 것을 인식하는 데 사용됩니다. 아주 좋은 플러그인. 먼저 기본 렌더링을 보여줍니다.

총 4화면의 콘텐츠

CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다.

CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다.

CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다.

CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다.

마우스를 위아래로 움직일 때마다 전체 화면이 전환됩니다.

첫 번째 화면은 한 장의 사진을 사용하고, 나머지 3개의 화면은 왼쪽 3장, 오른쪽 2장으로 구성됩니다.

이 세 화면의 왼쪽에 있는 사진은 다양한 방식으로 확대되어 더욱 시원한 효과를 줍니다.
페이지가 표시될 때 두 번째 화면의 세 장의 사진이 아래에서 위로 올바른 위치로 나옵니다.
페이지가 표시되면 세 번째 화면에 있는 세 장의 사진이 왼쪽에서 오른쪽으로 올바른 위치로 확대됩니다.
네 번째 화면에 있는 세 장의 사진은 페이지가 표시될 때 가운데에서 양쪽으로 올바른 위치로 확대됩니다.

1단계: jquery 및 전체 페이지 플러그인을 다운로드하고 전체 페이지에는 CSS 및 js가 포함되어 있습니다.

<script type="text/javascript" src = "./jQuery/jquery-3.2.0.min.js"></script>
<link rel="stylesheet" type="text/css" href="./fullpage/jquery.fullPage.css">
<script type="text/javascript" src = "./fullpage/jquery.fullPage.min.js"></script>
로그인 후 복사

2단계: HTML로 좋은 요소 만들기:

<p class = "main">

  <p class="section page1">
    <img  src="/static/imghw/default1.png"  data-src="./images/page1.png"  class="lazy"   alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
  </p>
  <p class="section page2">
    <p class = "list">
      <img  src = "./images/page2_1.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
      <img  src = "./images/page2_2.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
      <img  src = "./images/page2_3.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
    </p>
      <img  class = "text" src = "./images/page2_4.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
      <img  class = "bg" src = "./images/page2_5.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >

  </p>
   <p class="section page3">
    <p class = "list">
      <img  src = "./images/page3_1.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
      <img  src = "./images/page3_2.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
      <img  src = "./images/page3_3.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
    </p>
    <img  class = "text" src = "./images/page3_4.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
      <img  class = "bg" src = "./images/page3_5.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
  </p>

    <p class="section page4">
    <p class = "list">
      <img  src = "./images/page4_1.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
      <img  src = "./images/page4_2.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
      <img  src = "./images/page4_3.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
    </p>
      <img  class = "text" src = "./images/page4_4.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
      <img  class = "bg" src = "./images/page4_5.png" alt="CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다." >
  </p>

</p>
 <p id = "audioBox">
    <audio id = "audio" autoplay loop src= "./music/music.mp3"></audio>
  </p>
로그인 후 복사

에는 콘텐츠 화면 4개와 음악 재생을 위한 오디오 요소가 포함되어 있습니다.

3단계: fullpage의 js를 사용하여 각 화면의 배경색을 구현하고 js를 사용하여 음악을 일시 중지합니다.

//1.fullpage,由于有四屏,其颜色也一样
    $(".main").fullpage({
sectionsColor: [&#39;#1bbc9b&#39;,&#39;#1bbc9b&#39;,&#39;#1bbc9b&#39;,&#39;#1bbc9b&#39;]
    });

    //2.控制音频的播放
    var audioBox = document.getElementById(&#39;audioBox&#39;);
    var audio = document.getElementById("audio");

    audioBox.onclick = function(){

    if(audio.paused){
      audio.play();
    }
    else
    {
      audio.pause();
    }
  }
로그인 후 복사

4단계: 레이아웃에 CSS 사용:

<style type="text/css">
  *{
    margin: 0;
    padding:0;
  }

 //设置背景音乐的图标
  #audioBox{
    width: 45px;
    height: 45px;
    position: absolute;
    background: url(./images/music_on.png) no-repeat center;
    border-radius: 22px;
    top: 5%;
    right: 3%;
    cursor: pointer;
  }

  //让每屏超出的都自动隐藏
  .section{
    overflow: hidden;
  }

  /*设置第一屏的图片,因为第一屏也只有一个图片*/
  .page1 img{
    width: 50%;
    margin-left: 30%;
  }

 /*从第二屏开始都包含一个class=list的元素块,设置其距离左侧的距离*/
  [class *= "page"] .list{
    margin-left: 5%;
  }

 /*让左边的图片的宽度都为240px*/
  [class *= "page"] .list img{
    width: 240px;

  }

  /*利用属性选择器,选出所有页的背景图片*/
  [class *= "page"] .bg{
    position: absolute;
    bottom: 5%;
    right: 5%;
    width: 30%;
  }

  /*利用属性选择器,选择出所有页的文字图片*/
  [class *= "page"] .text{
    position: absolute;
    top: 10%;
    right: 5%;
  }
로그인 후 복사

4단계를 통과하면 기본 효과는 완성되었으나, 마지막으로 4화면 이미지에는 애니메이션 효과가 구현되지 않았다는 점입니다. .

5단계: 애니메이션 효과를 구현합니다.

1. 현재 스크롤되는 화면을 확인하는 방법은 무엇인가요?

fullpage는 현재 페이지에 활성 클래스를 추가하므로 해당 클래스를 사용하여 현재 페이지에서 애니메이션이 실행되는 시점을 결정할 수 있습니다.

2. 첫 화면의 애니메이션을 구현합니다

첫 화면은 주로 영상의 페이드인 효과입니다.
아이디어: 불투명도 속성을 변경하고 전환과 결합하여 투명도를 변경하여 페이드인 효과를 얻습니다.

.page1 img{
    opacity: 0;  /*初始状态为全透明*/
    /*加上供应商前缀,持续时间为1.5s*/
    -moz-transition: opacity 1.5s;
    -webkit-transition: opacity 1.5s;
  }

/*当第一页显示的时候触发,当第一页时就会自动加上active类*/
  .page1.active img{
    opacity: 1;
  }
로그인 후 복사

3. 두 번째 화면의 애니메이션을 구현합니다.

두 번째 화면의 애니메이션은 페이지가 표시될 때 왼쪽에 있는 세 장의 그림이 창 안으로 아래에서 위로 미끄러지는 것입니다.
핵심 아이디어: m:translateY에 trans를 사용하고 이를 구현하려면
전환은 속성 값 변경을 감지하는 것
translateY 번역

/*动画的完成时间为1s,初始位置三个图片都处于向下移动到1000像素,即移出屏幕外。*/
  .page2 .list img{
    transition:1s;
    transform: translateY(1000px);
  }

 /*当第二屏触发时,图片回到原始位置*/
  .page2.active .list img{
    transform:translateY(0px);
  }

/*利用结构化伪类找到每一个图片并设置延时,为了使动画更灵活*/
  .page2 .list img:nth-child(1){
    transition-delay: 0.5s;
  }
  .page2 .list img:nth-child(2){
    transition-delay: 0.8s;
  }
  .page2 .list img:nth-child(3){
    transition-delay: 1s;
  }
로그인 후 복사

4 . 구현 세 번째 화면의 애니메이션

translateY를 사용하면 세 번째 화면이 좌우로 이동하며, 가로 방향을 제어하려면 TranslateX가 있어야 합니다. 먼저, 초기 상태는 맨 왼쪽에 세 장의 그림이 겹쳐져 있는 상태인데, 애니메이션이 실행되면 두 번째 화면의 예를 따라하면

rree<🎜 작성하기 쉽습니다. >이 화면의 두 사진의 초기 상태로 인해 가장 왼쪽 사진에 위치가 겹쳐져야 하므로 이 두 사진에 대해 각각translateX

.page .list img{ 
/设置动画持续时间为1s,动画开始时延迟0.5s/ 
transition: 1s 0.5s; 
}
로그인 후 복사

를 설정합니다. 5. 애니메이션을 설정합니다. 다섯 번째 화면.

다섯 번째 화면의 애니메이션은 왼쪽 그림 3개가 가운데 그림과 먼저 겹쳐졌다가 트리거된 후 원래 위치로 돌아가는 애니메이션입니다.

① 위의 아이디어에 따라 tanslateX를 사용하여 구현할 수 있습니다.

.page .list img:nth-child(2){ 
/向左移动了250px刚好与第一个重叠/ 
transform:translateX(-250px); 
}

.page .list img:nth-child(3){ 
/向左移动了500px刚好与第一个重叠/ 
transform:translateX(-500px); 
}

/设置触发时的动画,让所有的img归位/ 
.page3.active .list img{ 
transform:translateX(0px); 
}
로그인 후 복사

② CSS3의 전환 및 변환 속성 외에도 CSS3의 애니메이션을 사용할 수도 있습니다. key

frames

키프레임의 매개변수에 대한 자세한 내용은 설명서를 확인하고 익숙해질 수 있습니다.

위 코드로 멋진 전체화면 스크롤 페이지가 완성되었습니다!

첨부된 소스코드:

.page4.active .list img:nth-child(1){
    transform:translateX(0px);
    -webkit-animation: &#39;flymove1&#39; 1s ease-in 1;  /*动画名、持续时间、更细粒度动画,重复次数*/
  }

  .page4.active .list img:nth-child(3){
    transform:translateX(0px);
    -webkit-animation: &#39;flymove2&#39; 1s ease-in 1;
  }

   @-webkit-keyframes flymove1{
    0%{ transform: translateX(250px);}
    100%{ transform: translateX(0px);}
   }

   @-webkit-keyframes flymove2{
    from{ transform: translateX(-250px);}
    to{ transform: translateX(0px);}
   }
로그인 후 복사

[관련 추천]

1.

무료 CSS 온라인 동영상 튜토리얼

2. >css 온라인 매뉴얼

3. php.cn Dugu Jiujian (2) - CSS 비디오 튜토리얼

위 내용은 CSS3+fullPage.js는 전체 화면 스크롤 효과 코드를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

순수한 CSS3로 물결 효과를 얻는 방법은 무엇입니까? (코드 예) 순수한 CSS3로 물결 효과를 얻는 방법은 무엇입니까? (코드 예) Jun 28, 2022 pm 01:39 PM

순수한 CSS3로 물결 효과를 얻는 방법은 무엇입니까? 이 기사에서는 SVG 및 CSS 애니메이션을 사용하여 물결 효과를 만드는 방법을 소개합니다. 도움이 되길 바랍니다.

CSS를 능숙하게 사용하여 다양한 이상한 모양의 버튼 구현(코드 포함) CSS를 능숙하게 사용하여 다양한 이상한 모양의 버튼 구현(코드 포함) Jul 19, 2022 am 11:28 AM

이 글에서는 CSS를 활용하여 자주 나타나는 다양한 모양의 버튼을 쉽게 구현하는 방법을 알려드리겠습니다. 도움이 되셨으면 좋겠습니다.

공간을 차지하지 않고 CSS에서 요소를 숨기는 방법 공간을 차지하지 않고 CSS에서 요소를 숨기는 방법 Jun 01, 2022 pm 07:15 PM

두 가지 방법: 1. 표시 속성을 사용하여 요소에 "display:none;" 스타일을 추가합니다. 2. 요소를 숨기려면 위치 및 상단 속성을 사용하여 요소의 절대 위치를 설정하세요. 요소에 "position:absolute;top:-9999px;" 스타일을 추가하세요.

CSS3에서 레이스 테두리를 구현하는 방법 CSS3에서 레이스 테두리를 구현하는 방법 Sep 16, 2022 pm 07:11 PM

CSS에서는 border-image 속성을 사용하여 레이스 테두리를 만들 수 있습니다. border-image 속성은 이미지를 사용하여 테두리를 생성할 수 있습니다. 즉, 배경 이미지를 레이스 스타일로 지정하기만 하면 됩니다. "border-image: url(이미지 경로)은 이미지 테두리 너비가 안쪽으로 반복되는지 여부입니다.

CSS3에서 마우스를 클릭하여 이미지를 확대하는 방법 CSS3에서 마우스를 클릭하여 이미지를 확대하는 방법 Apr 25, 2022 pm 04:52 PM

구현 방법: 1. ":active" 선택기를 사용하여 그림에 대한 마우스 클릭 상태를 선택합니다. 2. 변환 속성과 scale() 함수를 사용하여 그림 확대 효과를 얻습니다. 구문은 "img:active {transform; : scale(x축 배율, y축 배율);}".

텍스트 캐러셀과 이미지 캐러셀도 순수 CSS를 사용하여 구현할 수 있다는 것이 밝혀졌습니다! 텍스트 캐러셀과 이미지 캐러셀도 순수 CSS를 사용하여 구현할 수 있다는 것이 밝혀졌습니다! Jun 10, 2022 pm 01:00 PM

텍스트 회전판과 이미지 회전판을 만드는 방법은 무엇입니까? 누구나 가장 먼저 생각하는 것은 js를 사용할지 여부입니다. 실제로 순수 CSS를 사용하여 구현하는 방법도 모두에게 도움이 되기를 바랍니다.

CSS3에서 애니메이션 회전 속도를 설정하는 방법 CSS3에서 애니메이션 회전 속도를 설정하는 방법 Apr 28, 2022 pm 04:32 PM

CSS3에서는 "animation-timing-function" 속성을 사용하여 애니메이션 회전 속도를 설정할 수 있습니다. 이 속성은 애니메이션이 순환을 완료하는 방법을 지정하고 애니메이션의 속도 곡선을 설정하는 데 사용됩니다. 애니메이션 타이밍 기능: 속도 속성 값;}".

CSS3 애니메이션 효과에 변형이 있나요? CSS3 애니메이션 효과에 변형이 있나요? Apr 28, 2022 pm 02:20 PM

CSS3의 애니메이션 효과에는 변형이 있습니다. 애니메이션 속성은 애니메이션 스타일을 설정하는 데 사용됩니다. 변형 속성은 변형 스타일을 설정하는 데 사용됩니다.

See all articles