키 테이크 아웃
CSS 3D 및 2D Transforms 및 CSS 애니메이션을 사용하여 전체 페이지 애니메이션을 만들 수 있으며 웹 컨텐츠 용 기존 스크립트 기반 애니메이션에 대한보다 성능이 뛰어나고 유연한 대안을 제공합니다. HTML 요소는 CSS 애니메이션을 사용하여 이러한 효과를 달성하기 위해 변환 할 수 있습니다.
CSS를 적용 할 때 일관된 결과를 보장하려면 내용의 크기에 관계없이 신체 요소의 크기는 브라우저 창의 크기에 고정 될 수 있으며 래퍼 내부에서 내용을 추가 할 수 있습니다. 이 접근법은 또한 복잡한 컨텐츠로 발생할 수있는 진보적 인 렌더링, 재 층 또는 자원로드를 숨길 수 있습니다.
> 애니메이션은 브라우징 경험 중에 전략적 시간에 설정하여 페이지가로드 될 때 컨텐츠 전환이 보이거나 사용자가 링크를 클릭 할 때보기가 보이지 않습니다. 페이지 컨텐츠를보기에 전환하는 애니메이션을 설정하는 최적의 장소는 요소 상단의 인라인입니다. 애니메이션 이벤트는 애니메이션이 완료된시기를 감지하고 내비게이션 이벤트를 트리거하는 데 사용될 수 있습니다.
Internet Explorer 10과 같은 최신 브라우저는 CSS 3D 및 2D 변환 및 CSS 애니메이션을 지원합니다. GPU의 힘을 활용하고 일반 JavaScript에서 비동기식으로 실행하면 이러한 기술은 웹 컨텐츠를위한 기존 스크립트 기반 애니메이션에 대한보다 성능이 뛰어나고 유연한 대안을 제공합니다.
나는 CSS 3D 변환과 함께 구축하는 방법과 이전 기사의 CSS 애니메이션 및 전환에 대해 이야기했습니다. 이 기사에서는 내비게이션 프로세스 중에 사용할 수있는 "풀 페이지 애니메이션"의 개념을 설명하여 이러한 기술에 대한 "전통적인"사용 사례를 소개하고 싶습니다. 우리의 목표는 사용자가 페이지를 방문하고 링크를 클릭하거나 관련 조치를 수행 할 때 컨텐츠를 원활하게 볼 때 컨텐츠가 원활하게 나타나는 원활한 브라우징 경험을 달성하는 것입니다.
.
이러한 효과는 CSS 애니메이션을 사용하여 HTML 요소를 변환하여 달성 할 수 있습니다. 그러나이 유스 케이스는 변환에 대한 레이아웃 및 크기 조정의 영향과 시간 페이지 탐색을 적절히 적절히 적절히 제작하는 방법과 같은 토론에 합당하다고 생각되는 몇 가지 고려 사항을 제시합니다. >
이 게시물의 코드 샘플은 IE10 Release Preview에서 지원하는대로 검색되지 않은 CSS 마크 업을 사용합니다. 다른 브라우저는 CSS 애니메이션에 대한 공급 업체 접두사가 필요할 수 있으며 CSS는 사용 된 속성을 변환합니다.
페이지의 전체 내용 변환
CSS 변환은 HTML DOM 요소의 문체 속성에 정의되어 있습니다. 예를 들어, z 축을 따라 요소를 45도 회전시키기위한 마크 업은 다음과 같습니다.#element {
transform: rotateZ(45deg);
}
로그인 후 복사
로그인 후 복사
로그인 후 복사
html 문서의 요소에 변환을 첨부하는 것은 정확히 같은 방식으로 작동합니다. 따라서 문서의 에 동일한 효과를 선포하기 위해 다음과 같은 작업을 수행 할 수 있습니다.
신체 요소로 변환을 적용 할 때 페이지의 전 및 후 샷을 보자 :
ROTATEZ (45DEG) 문서의 신체 요소로 변환.
3 차원 변환의 경우 CSS 변환 사양은 우리가 변환하는 요소의 부모에게 지정 될 수있는 관점 속성을 정의합니다. 컨텐츠의 요소를 변환 할 때는 DOM 계층에있는 요소에 적용되어야합니다. 그렇게하는 것은 간단합니다 : body {
transform: rotateZ(45deg);
}
로그인 후 복사
요소의 회전 (45deg) 변환과 이것을 결합하면 다음 결과가 생성됩니다.
회전 (45deg)을 전망 : 에 500px로 설정하여 로 변환
우리는 흥미로운 결과를 얻기 위해 신체 요소의 변환-원산지 속성을 조작 할 수 있습니다. 몇 가지 예를 살펴 보겠습니다
위의 마크 업은 변환-오리핀을 사용하여 회전 원점을 요소의 바닥으로 이동시키는 동시에 신체 요소의 X를 따라 회전을 설정합니다. 효과적으로 이것은 문서의 내용을 다음과 같이 "화면으로"회전시킵니다.
html {
perspective: 500px;
}
로그인 후 복사
우리는 또한 축외 투영 효과를 달성하기 위해 문서의 루트 요소에 관점-원산지 속성을 조작 할 수 있습니다. to : 의 스타일 변경
우리의 페이지는 이제 다음과 같습니다
CSS 변환을 사용하면 페이지 컨텐츠 전체의 시각적 모양을 쉽게 조작 할 수 있습니다. 일반적인 레이아웃 및 크기 규칙은 여전히 적용되므로 일부는 신체 요소 (특히 백분율 값을 사용하거나 변환-오리핀 속성에 의존하는 일부 변환)에서 페이지의 내용에 따라 다른 시각적 효과를 초래할 수 있습니다. Transform-Origin이 50% 100%로 설정된 이전 ROTATEX (45DEG) 예제를 상기하십시오.
아래는 변환 전후의 결과를 볼 수 있습니다.
컨텐츠가 실제로 창 하단에있는 것이 아니라 뷰포트 외부의 어느 시점에 있는지 확인하십시오. CSS 변환에 대한 동작이 예상됩니다. 는 정상적으로 배치 된 다음 화면에있는 바닥 가장자리를 따라 회전합니다. 또한 컨텐츠의 실제 발 인쇄가 확장되었음을 알 수 있습니다 (“After”사진의 스크롤 막대를 살펴보십시오) 변환 된 컨텐츠를 수용하기 위해 (우리가 원근감을 사용하고 있다는 사실 은이 효과가 더욱 효과적입니다. 발음).
그러면 신체 요소에 변환을 적용 할 때 임의로 크기의 콘텐츠를 어떻게 처리합니까? 신체의 크기가 일정량 이상으로 확장되지 않도록 모든 내용을 맞춤 조정하는 사용자 정의는 비현실적 일 수 있습니다. 대신, 간단한 HTML/CSS 패턴을 사용할 수있어 신체 요소의 크기를 브라우저 창의 크기로 고정하고 래퍼 내부의 내용을 추가 할 수 있습니다. 다음 마크 업은 바로 그 달성을 달성합니다
아래 그림은 페이지가 수직으로 스크롤 될 때 발생하는 일을 보여주고 rotatey (45deg)를 문서의 요소로 직접 (왼쪽)로 바꾸고 래퍼 패턴 (오른쪽)을 사용합니다.
변환의 직접적인 적용은 축외 투영으로 인해 비뚤어진 시각적 결과를 초래합니다 (우리는 더 이상 신체 요소의“중심”을보고 있지 않기 때문에). 래퍼 패턴을 사용하면 요소의 원근법-오리핀 속성 (기본적으로 50% 50%)이 항상 요소와 관련하여 올바르게 중앙에 위치하여 즐거운 시각적 효과를 제공합니다.
위의 패턴을 사용하고 CSS를 설정함으로써 가능한 한 백분율 값으로 변환하면 내용의 크기에 관계없이 요소에 일관된 방식으로 영향을 줄 수 있습니다.
변환에서 애니메이션으로
CSS 변환을 적용하는 복잡성을 요소로 정리 한 후 CSS 애니메이션이 다음 단계입니다. 위에서 설명한 원칙을 따르면 웹 컨텐츠를 흥미로운 방식으로보기 (또는보기에서 제거)로 만드는 애니메이션을 만들 수 있습니다.
이 기본 @keyframes 규칙을 고려하십시오 :
#element {
transform: rotateZ(45deg);
}
로그인 후 복사
로그인 후 복사
로그인 후 복사
요소에 적용되면이 애니메이션은 왼쪽에서 회전하게됩니다. 래퍼 패턴을 사용하는 요소에 적용하면 시각적 결과가 더 흥미 롭습니다. 문서는 실제로 브라우저 창의 가시 영역 외부에서 전체보기로 회전합니다.
마찬가지로, 우리는보기에서 웹 컨텐츠를 유동적으로 제거하는 애니메이션을 구성 할 수 있습니다. 예를 들어, 회전하는 동안 페이지가 거리로 사라지는 경우 다음과 같은 것을 사용할 수 있습니다.#element {
transform: rotateZ(45deg);
}
로그인 후 복사
로그인 후 복사
로그인 후 복사
시각적 결과가있는 :
위 내용은 CSS를 사용하여 풀 페이지 애니메이션을 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!