자동으로 콘텐츠 너비에 애니메이션을 적용하는 방법
CSS에서 너비 속성을 자동으로 설정하여 요소 크기를 강제로 맞출 수 있습니다. 그 내용. 그러나 이 값은 일반적으로 애니메이션화할 수 없습니다. 결과적으로 콘텐츠가 변경될 때 요소의 너비가 부드럽게 변경되지 않아 시각적으로 거슬릴 수 있습니다.
width: auto를 사용하여 요소의 너비에 애니메이션을 적용할 수 있나요?
안타깝게도 자동으로 설정된 요소의 너비 속성에 직접 애니메이션을 적용하는 것은 불가능합니다. auto 값은 요소가 콘텐츠에 필요한 만큼만 공간을 차지하도록 한다는 점에서 특별합니다. 이 값에 애니메이션을 적용하려면 요소의 콘텐츠를 변경해야 하는데 이는 일반적으로 우리가 원하는 작업이 아닙니다.
max-width를 사용하는 대체 솔루션
width 속성에 애니메이션을 적용하는 대신 자체적으로, max-width에 대한 전환과 함께 max-width 속성을 사용하여 너비에 애니메이션을 적용하는 환상을 만들 수 있습니다. 요소의 실제 너비보다 큰 max-width를 설정하면 요소가 해당 최대 너비에 맞도록 강제할 수 있습니다. 요소의 콘텐츠가 변경되고 넓어지면 max-width를 사용하면 요소가 새로운 최대 크기까지 확장되어 애니메이션 너비 모양을 만들 수 있습니다.
예제 코드:
.myspan { display: inline-block; font-size: 30px; background-color: #ddd; vertical-align: bottom; } .myspan::after { content: " a0\f12a "; font-family: ionicons; font-size: 80%; display: inline-block; max-width: 0; transition: max-width .6s; vertical-align: bottom; overflow: hidden; } .myspan:hover::after { max-width: 80px; transition: max-width 1s; }
이 예에서 .myspan 요소의 max-width 속성은 0으로 설정되어 있습니다. 사용자가 해당 요소 위로 마우스를 가져가면 max-width 속성이 속성이 80px로 변경되어 요소가 해당 너비로 커집니다. 전환 속성은 너비 변경이 애니메이션화되어 애니메이션 너비 모양을 생성하도록 보장합니다.
위 내용은 CSS에서 `width: auto`를 사용할 때 요소의 너비에 애니메이션을 적용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!