> 웹 프론트엔드 > CSS 튜토리얼 > CSS 애니메이션이 'display: none'으로 설정된 요소와 함께 작동할 수 있나요?

CSS 애니메이션이 'display: none'으로 설정된 요소와 함께 작동할 수 있나요?

Patricia Arquette
풀어 주다: 2024-11-30 20:53:16
원래의
106명이 탐색했습니다.

Can CSS Animations Work with Elements Set to `display: none`?

CSS 애니메이션 및 표시 요소

처음에 display: none이 있는 요소에 CSS 애니메이션을 사용하려고 했습니다. 요소를 동적으로 표시하고 숨기는 간단한 접근 방식처럼 보일 수 있지만 CSS 제한으로 인해 이를 방지할 수 있습니다.

디스플레이 문제: 없음

CSS 애니메이션은 요소 간 전환을 처리할 수 없습니다. 디스플레이: 없음 및 디스플레이: 블록 또는 높이: 0과 높이: 자동 사이. 가능하면 높이를 하드코딩해야 하며, 그렇지 않으면 JavaScript를 사용해야 합니다.

높이 설정

높이를 하드코딩할 수 없는 상황에서는 오버플로를 사용할 수 있습니다. : 요소를 숨기려면 요소를 숨기고 높이를 0으로 설정합니다. 표시할 준비가 되면 오버플로를 다시 표시로 설정하고 높이를 최대로 애니메이션화합니다. 범위.

예제 코드

CSS:

#main-image {
  height: 0;
  overflow: hidden;
  background: red;
  animation: slide 1s ease 3.5s forwards;
}

@keyframes slide {
  from { height: 0; }
  to { height: 300px; }
}
로그인 후 복사

HTML:

<div>
로그인 후 복사

이 예에서 오버플로: 숨김은 높이가 0에서 0까지 애니메이션될 때 요소가 숨겨진 상태로 유지되도록 합니다. 300px.

참고: CSS 예제에서는 바닐라 CSS를 사용합니다. Animate.css를 사용하는 경우 @keyframes 규칙을 해당 Animate.css 클래스로 대체할 수 있습니다.

이 접근 방식을 사용하면 display: none 또는 jQuery에 의존하지 않고 요소에 원활하게 애니메이션을 적용할 수 있어 더욱 부드러운 전환이 가능합니다. 더욱 정밀한 타이밍 제어가 가능합니다.

위 내용은 CSS 애니메이션이 'display: none'으로 설정된 요소와 함께 작동할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿