>  기사  >  웹 프론트엔드  >  CSS3만을 사용하여 파노라마 효과를 얻는 방법

CSS3만을 사용하여 파노라마 효과를 얻는 방법

巴扎黑
巴扎黑원래의
2017-05-27 17:26:382048검색

이 기사에서는 CSS3 블랙 기술을 소개합니다. CSS만 사용하여 파노라마 효과를 얻는 방법


CSS3만을 사용하여 파노라마 효과를 얻는 방법

최종 효과 데모: demo 페이지 레이아웃

기본 스타일 및 애니메이션

<p class="panorama"></p>

  background- size: auto 100%; 이 코드는 이미지의 높이가 컨테이너의 높이와 같고 가로 방향이 자동이라는 의미입니다. 즉, 이미지의 가장 왼쪽이 컨테이너의 왼쪽에 연결됩니다.


 애니메이션을 실행하는 과정은 순환, 교대, 선형이며 시간은 10초입니다.

 

애니메이션 실행 수동 제어

지금까지 웹 페이지를 열면 앞뒤로 수평 슬라이딩 효과가 있는 이미지가 즉시 나타납니다. . 그러나 이 경우 관람객들은 애니메이션에 매료되어 실제 내용을 무시할 수도 있다.

우리의 요구 사항은 마우스가 그림 위에 있을 때 움직이도록 하는 것입니다. 물론 이 효과는 매우 쉽게 얻을 수 있습니다.

 이전 애니메이션을 삭제하고 다음 스타일을 추가하세요.

.panorama {
  width: 300px;
  height: 300px;
  background-image: url(http://7vilbi.com1.z0.glb.clouddn.com/blog/6608185829213862083.jpg);
  background-size: auto 100%;
  cursor: pointer;
  animation: panorama 10s linear infinite alternate;
}

@keyframes panorama {
  to {
    background-position: 100% 0;
  }
}

현재 효과는 다음과 같습니다. 마우스를 그림 안으로 이동하면 그림이 가로로 앞뒤로 미끄러지기 시작합니다.

애니메이션 최적화

효과는 얻었지만 마우스가 사진 밖으로 나가면 사진이 즉시 원래 위치로 돌아갑니다 .

이것은 다소 갑작스러운 일입니다. 마우스가 안으로 움직일 때 그림의 현재 위치를 기록하고 애니메이션을 계속하는 방법은 무엇입니까?

이 속성을 사용할 수 있습니다 animation-play- 상태: 일시 중지됨 | 실행 중이며 애니메이션의 두 가지 상태인 일시 중지됨과 실행 중을 나타냅니다.

  완전한 CSS 코드

.panorama:hover,
.panorama:focus {
  animation: panorama 10s linear infinite alternate;
}

위 내용은 CSS3만을 사용하여 파노라마 효과를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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