>웹 프론트엔드 >CSS 튜토리얼 >HTML5 오디오와 CSS 애니메이션 동기화

HTML5 오디오와 CSS 애니메이션 동기화

William Shakespeare
William Shakespeare원래의
2025-02-23 09:32:10917검색

HTML5 오디오와 CSS 애니메이션 동기화 키 테이크 아웃

HTML 요소를 사용하여 CSS 애니메이션에 음향 효과를 추가하기 위해 CSS 및 HTML을 결합 할 수 있습니다. 이것은 JavaScript로 트리거 될 수 있으며 아티스트 및 게임 웹 사이트 또는 어린이 콘텐츠와 같은 특정 경우에 사용자 경험을 향상시킬 수 있습니다. 사운드 애니메이션 프로세스의 가장 중요한 부분은 CSS 애니메이션을 오디오로 조정하여 정확한 동기화 시청각 경험을 보장하는 것입니다. 여기에는 애니메이션 키 프레임을 오디오 타이밍 데이터에 동기화합니다 요소는 페이지에 오디오를 도입하는 데 사용됩니다. JavaScript는 재생을 조작하는 데 사용됩니다. 이 예에서는 버튼이 트랙을 시작하고 재설정하는 데 사용됩니다. HTML5 오디오와 CSS 애니메이션을 동기화하는 프로세스는 일반적으로 다른 브라우저에서 동일합니다. 그러나 모든 브라우저가 모든 HTML5 오디오 형식을 지원하는 것은 아닙니다. 따라서 다른 브라우저와의 호환성을 보장하기 위해 오디오 파일의 여러 소스가 제공되어야합니다. 라이브 오디오 스트림과 함께 CSS 애니메이션을 사용하는 것은 가능하지만 사전 녹음 된 오디오 파일보다 더 복잡합니다. 오디오 스트림을 실시간으로 분석하고 그에 따라 CSS 애니메이션을 조정하려면 웹 오디오 API가 필요합니다.

CSS와 HTML은 웹 페이지, 웹 앱 및 전자 책 프로젝트에 멀티미디어 컨텐츠를 추가하기위한 풍부한 경기장을 열었습니다. 이 두 기술을 결합하는 혁신적인 방법 중 하나는

사운드 애니메이션 프로세스의 가장 중요한 부분은 CSS 애니메이션을 오디오로 조정하여 정확한 동기화 시청각 경험을 달성하는 것입니다. 이 기사에서는 양식화 된 심장의 흥미로운 예를 사용하여 애니메이션 키 프레임을 오디오 타이밍 데이터로 동기화하는 단계를 살펴 보겠습니다. Codepen에서 Sitepoint (@SitePoint)에 의해 HeartBeat에 의해 펜 CSS 애니메이션을 참조하십시오. 심장 구성 우리가 필요한 첫 번째 성분은 우리가 애니메이션하고 싶은 심장입니다. 우리는 CSS 의사 요소를 사용하여 하나를 구성 할 것입니다. 의사 요소를 통해서만 이미지를 사용하지 않고 HTML로 구성되면 다양한 CSS 속성을 애니메이션하여 더 흥미로운 애니메이션을 만들 수있는 기회를 제공합니다. 우리는 종종 이런 식으로 모양을 구축 할 수있는 한 가지 이상의 방법을 찾을 수 있지만, 우리가 애니메이션을 계획하고 있다면 지오메트리와 다른 구조적 선택이 움직임에 영향을 미치고 키 프레임 코드를 단순화하는 방법에 대해 생각할 가치가 있습니다.이 경우 가장 간단한 기술은 상단에 둥글고 회전하고 겹치는 위치에 심장 모양을 형성하는 두 개의 수직 사각형을 사용하는 것입니다. 크기는 백분율을 사용하여 설정되며 약간의 지오메트리 고려 사항이 절대적으로 위치하여 컨테이너 크기를 변경하여 원래 모양을 쉽게 확장 할 수 있습니다. 사각형은 시계 방향으로 45도, 시계 반대 방향으로 회전하여 심장의 왼쪽과 오른쪽 부분을 형성합니다.

둥근 측면은 원형 곡선보다는 타원을 얻기 위해 두 개의 반경 값으로 설정되므로 더 자연스러운 심장 모양입니다. 사각형 측면 길이는 5/8 비율을 가지기 때문에 타원 반경은 50%/37.5%로 계산하여 겹치지 않는 모서리 만 반올림합니다. HTML5 오디오와 CSS 애니메이션 동기화 이제 남아있는 것은 사각형의 변환-원산지 지점을 조정하여 사각형이 겹치는 정사각형 영역의 중앙에 점이 정렬됩니다. 변환-오리핀 접근법을 사용하는 대신 절대 위치 선언을 조정하여 동일한 모양을 달성 할 수 있습니다. 그러나 그것은 나중에 KeyFrames 코드를 복잡하게 만들 것입니다. 왜냐하면 우리를 위해 작업을 수행하기 위해 변환 스케일 함수에 의존하는 대신 위치를보다 자세하게 제어해야하기 때문입니다. 변환-원산지 지점은 변환이 적용되기 전에 좌표계와 관련하여 계산되어야합니다 (변환이 좌표계에 영향을 줄 수 있기 때문에 ROTATE () 함수는 적용되는 요소와 함께 좌표계를 회전시킵니다. 에게). 다시 측면 길이 비율은 그 지점의 위치를 ​​지시합니다. x 위치가 사각형의 중심에서 50%임을 쉽게 알 수 있지만 y 위치는 상단에서 측정 된 사각형 높이의 68.75%로 계산됩니다. (55*100%/80 = 68.75%). 두 직사각형이 동일한 변환-오리진 포인트 위치를 공유하기 때문에 특정 대칭 접근 방식도 여기에서 지불합니다.

그리고 이제 우리는 아름다운 대칭 심장 모양을 가지고 있습니다. 우리는 각각의 사각형마다 다른 삽입 된 상자 섀도우를 추가하여 모든 통통과 3d를 만들 수 있습니다.
<span><span>.heart::before, 
</span></span><span><span>.heart::after</span> {
</span>  <span>background-color: red;
</span>  <span>content: "";
</span>  <span>height: 80%;
</span>  <span>left: 25%;
</span>  <span>position: absolute;
</span>  <span>top: 2%;
</span>  <span>transform: translateZ(0) rotate(-45deg);
</span>  <span>width: 50%;    
</span><span>}
</span>
<span><span>.heart::after</span> {
</span>  <span>transform: translateZ(0) rotate(45deg);
</span><span>}</span>
심장의 소리 페이지에 오디오를 소개하려면 내부 브라우저 오디오 플레이어가 나타나기를 원하지 않기 때문에 (html5 오디오 사용에 대한 자세한 내용을 읽기 때문에 컨트롤 속성이없는

위 내용은 HTML5 오디오와 CSS 애니메이션 동기화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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