찾다
웹 프론트엔드CSS 튜토리얼CSS를 사용하여 사진 회전문의 동적 효과를 얻는 방법을 살펴보십시오.

CSS를 사용하여 그림 회전 랜턴의 동적 효과를 구현하는 방법은 무엇입니까? 다음 기사에서는 CSS3 애니메이션 변환을 사용하여 회전하는 이미지 효과를 얻는 방법을 소개합니다. 이것이 도움이 되기를 바랍니다.

CSS를 사용하여 사진 회전문의 동적 효과를 얻는 방법을 살펴보십시오.

프로젝트는 사진의 회전문 효과를 구현해야 하기 때문입니다. 일반적인 Vue 컴포넌트 라이브러리를 대부분 확인한 후 이러한 컴포넌트를 거의 볼 수 없었기 때문에 CSS3 애니메이션을 기반으로 회전문 효과를 수동으로 구현했습니다. 즉시 두 가지 솔루션이 떠오릅니다. 하나는 타이머를 사용하거나, scrollLeft하거나 해당 위치의 왼쪽 속성 값을 수정하는 것이고, 다른 하나는 CSS3의 변환 및 애니메이션을 사용하는 것입니다.

애니메이션을 사용하여 구현하기로 선택했습니다. js로 구현한 애니메이션은 CPU에서 실행되고, css3의 애니메이션은 GPU에서 실행되므로 css3의 렌더링 비용이 저렴합니다. 결국 이를 구현하기 위해 css3을 사용하기로 결정했습니다. 작업 유형.

ScrollLeft 사용

처음에는 효과를 얻기 위해 scrollLeft+overflow를 사용하고 이를 트리거하기 위해 타이머를 사용하므로 매번 다시 그리기 및 리플로우가 발생합니다. (ps: 성능을 더 향상시켜야 하는 경우 타이머 트리거 대신 requestAnimationFrame을 사용할 수 있습니다. 가장 큰 장점은 requestAnimationFrame이 각 프레임의 모든 DOM 작업에 집중하여 한 번의 다시 그리기 또는 리플로우로 완료하고 다시 그리기 또는 리플로우 시간 간격이 있다는 것입니다. 일반적으로 이 빈도는 초당 60프레임입니다.)

(scrollLeft를 변경하면 왼쪽과 동일한 효과가 있음) 핵심 코드:

function toScrollLeft(){
  //  如果容器的宽度大于滚动条距离,则重复滚动
  if(divWidth > box.scrollLeft){
    box.scrollLeft++
    setTimeout('toScrollLeft()', 18);
  }
  else{
    // 滚动结束,从新开始
    box.scrollLeft=0;
    setTimeout('toScrollLeft()', 18);
  }
}

css3 변환 애니메이션 사용

CSS3 애니메이션 사용 회전 랜턴을 구현하려면 CSS 변수를 사용하여 각 상태 변환의 TranslateX 오프셋과 가장 중요한 애니메이션을 동적으로 설정하여 다음과 같이 생성된 gif 효과 중 일부를 달성합니다.

CSS를 사용하여 사진 회전문의 동적 효과를 얻는 방법을 살펴보십시오.

1. html 레이아웃을 미리 설정하고 div 컨테이너를 설정합니다

<div class="box" >
    <ul >
        <li v-for="(src,i) in cap " :key="i">
            <img  src="/static/imghwm/default1.png"  data-src="src"  class="lazy"     style="max-width:90%" height="90px" : / alt="CSS를 사용하여 사진 회전문의 동적 효과를 얻는 방법을 살펴보십시오." >
        </li>
    </ul>
</div>

2. 해당 스타일을 설정합니다

.box{
display: flex;
overflow: hidden;
flex-direction: column;
border-radius:12px;
width: 100%;
height: 100%;
background-color:#fff;
}
ul{
display: flex;
}

3. 마지막으로 바인딩 개체를 다음과 같은 스타일로 설정합니다. .box 요소 주요 방법은 CSS 변수를 사용한 다음 특정 값을 통해 애니메이션의 각 상태 효과를 동적으로 설정하는 것입니다. 키 코드는 애니메이션을 사용합니다. cap.length*8+ 의 무한 선형 이동은 무한 반복 이동 효과를 생성합니다.

ps: 전체적인 주요 동작 포인트이며, 기타 세부 사항은 생략

<div class="box" :style="{
&#39;--card-ul-width-start&#39;:-30+&#39;px&#39;,
&#39;--card-ul-width-middle1&#39;:-cap.length*30+&#39;px&#39;, 
&#39;--card-ul-width-middle2&#39;:-cap.length*60+&#39;px&#39;,
&#39;--card-ul-width-end&#39;:-cap.length*90+&#39;px&#39;
}">
    <ul :style="{&#39;-webkit-animation&#39;:cap.length*8+ &#39;s move infinite linear;&#39;}">
        <li></li>
    </ul>
</div>
data(){
    cap:new Array(6).fill(&#39;https://res.minigame.vip/gc-assets/fruit-master/fruit-master_icon.png&#39;)
}
@keyframes move {
    0%{
    transform:translateX(var(--card-ul-width-start))
    }
    30%{
    transform:translateX(var(--card-ul-width-middle1))
    }
    70%{
    transform:translateX(var(--card-ul-width-middle2))
    }
    100%{
    transform:translateX(var(--card-ul-width-end))
    }    
}

(학습 영상 공유: css 영상 튜토리얼)

위 내용은 CSS를 사용하여 사진 회전문의 동적 효과를 얻는 방법을 살펴보십시오.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 掘金社区에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
'CSS4'업데이트'CSS4'업데이트Apr 11, 2025 pm 12:05 PM

내가 CSS4¹에 처음으로 차지했기 때문에, 그것에 대해 많은 논의가있었습니다. 나는 여기 다른 사람들로부터 내가 가장 좋아하는 생각을 마무리하려고 할 것입니다. 거기 있습니다

세 가지 유형의 코드세 가지 유형의 코드Apr 11, 2025 pm 12:02 PM

새 프로젝트를 시작할 때마다 원하는 경우 세 가지 유형 또는 카테고리로보고있는 코드를 구성합니다. 그리고 나는 이러한 유형을 적용 할 수 있다고 생각합니다

HTTPS는 쉽습니다!HTTPS는 쉽습니다!Apr 11, 2025 am 11:51 AM

나는 HTTPS의 복잡성을 공개적으로 비난하는 것에 대해 유죄를 선고했다. 과거에는 타사 공급 업체로부터 SSL 인증서를 구매했으며 문제가있었습니다.

HTML 데이터 속성 안내서HTML 데이터 속성 안내서Apr 11, 2025 am 11:50 AM

HTML, CSS 및 JavaScript의 데이터 속성에 대해 알고 싶었던 모든 것.

자바 스크립트의 불변성 이해자바 스크립트의 불변성 이해Apr 11, 2025 am 11:47 AM

이전에 JavaScript에서 불변성으로 작업하지 않은 경우 변수를 새로운 값 또는 재 할당과 혼동하기가 쉽습니다.

최신 CSS 기능을 갖춘 사용자 정의 스타일링 양식 입력최신 CSS 기능을 갖춘 사용자 정의 스타일링 양식 입력Apr 11, 2025 am 11:45 AM

시맨틱하고 액세스 가능한 상태를 유지하면서 요즘 사용자 정의 확인란, 라디오 버튼 및 토글 스위치를 만들 수 있습니다. 우리는조차 필요하지 않습니다

각주 문자각주 문자Apr 11, 2025 am 11:34 AM

각주에 적합한 특수 슈퍼 세트 번호 문자가 있습니다. 여기에 다음과 같습니다.

HTML, CSS 및 JavaScript로 애니메이션 카운트 다운 타이머를 만드는 방법HTML, CSS 및 JavaScript로 애니메이션 카운트 다운 타이머를 만드는 방법Apr 11, 2025 am 11:29 AM

프로젝트에 카운트 다운 타이머가 필요한 적이 있습니까? 그런 것은 플러그인에 도달하는 것이 당연하지만 실제로는 훨씬 더 많습니다.

See all articles

핫 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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