CSS 전환이 숨겨진 요소에서 작동하지 않는 이유는 무엇입니까?
숨겨진 요소에서 처음에는 CSS 전환이 작동하지 않습니다.
CSS 전환을 사용하여 숨겨진 요소의 속성에 애니메이션을 적용하려고 하면 다음과 같은 문제가 발생할 수 있습니다. 요소가 최종 위치에 즉시 표시되는 문제. 이는 CSSOM(CSS 개체 모델)과 DOM(문서 개체 모델) 간의 관계 때문입니다.
리플로우와 CSSOM의 역할
CSS 전환에 따라 결정됩니다. 요소의 계산된 스타일을 기반으로 한 초기 상태입니다. 그러나 요소에 display: none이 있는 경우 해당 요소는 CSSOM에 효과적으로 표시되지 않으므로 브라우저는 계산된 스타일을 무시합니다.
귀하의 시나리오에서는 .b에서 전환을 트리거하면 계산된 스타일이 없습니다. , 숨겨져 있으므로. 따라서 전환을 제대로 초기화할 수 없습니다.
리플로우 강제
이 문제를 해결하려면 시작하기 전에 브라우저가 숨겨진 요소의 계산된 스타일을 업데이트하도록 강제할 수 있습니다. 전환. 이는 리플로우를 트리거하여 수행됩니다.
리플로우는 브라우저가 전체 페이지의 레이아웃과 계산된 스타일을 다시 계산하는 프로세스입니다. 이는 화면을 새로 고칠 때와 같이 필요할 때 특정 DOM 메소드 또는 브라우저 자체에 의해 트리거될 수 있습니다.
requestAnimationFrame() API를 사용하면 다음 페인트 직전에 리플로우를 수행하도록 브라우저에 요청할 수 있습니다. 작동이 발생합니다. 이렇게 하면 전환이 시작될 때 요소의 계산된 스타일이 최신 상태로 유지됩니다.
업데이트된 코드
$('button').on('click', function () { $('.b').show(); // Apply display:block synchronously requestAnimationFrame(() => { // Force a reflow document.body.offsetHeight; // Trigger the transitions $('.b').css('right', '80%'); $('.a').css('right', '80%'); }); })
위 내용은 CSS 전환이 숨겨진 요소에서 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

새로운 프로젝트가 시작될 때, Sass 컴파일은 눈을 깜박이게합니다. 특히 BrowserSync와 짝을 이루는 경우 기분이 좋습니다.

이번 주에 플랫폼 뉴스 라운드 업 RONDUP, Chrome은로드에 대한 새로운 속성, 웹 개발자를위한 접근성 사양 및 BBC Move를 소개합니다.

이 두 부분으로 구성된 시리즈의 첫 번째 부분은 우리가 2 턴 슬라이더를 얻는 방법을 자세히 설명했습니다. 이제 우리는 일반적인 멀티 덤프 케이스를 살펴 보지만 다른 것과

이것은 처음으로 HTML 요소를보고 있습니다. 나는 그것을 잠시 동안 알고 있었지만 아직 스핀을 위해 그것을 가져 갔다. 그것은 꽤 시원하고 있습니다

Goofonts는 개발자 부인과 디자이너 남편이 서명 한 사이드 프로젝트로, 둘 다 타이포그래피의 큰 팬입니다. 우리는 Google에 태그를 지정했습니다

문서 헤드는 웹 사이트에서 가장 화려한 부분이 아닐 수도 있지만 웹 사이트의 성공에 중요합니다.
