"전환: 모두"가 CSS3 전환 속도를 방해합니까?
CSS3 전환을 사용하면 웹 요소에 애니메이션 효과를 제공합니다. 일반적인 방법은 "transition: all"을 사용하여 여러 요소에 대한 모든 전환을 균일하게 대상으로 지정하는 것입니다. 그러나 이 접근 방식이 렌더링 성능을 손상시키는지에 대해서는 논쟁이 있습니다.
문의: 각 요소에 대한 특정 전환 속성을 타겟팅할 수 있습니다(예: "전환: 불투명도 .2s이지 인"). "전환:"을 사용하는 것보다 애니메이션이 더 빠르고 부드러워집니다. all"?
설명: 단일 속성이 있는 요소에 대해서도 CSS 엔진이 "모든" 전환 속성을 검색하면 잠재적으로 렌더링 속도가 느려지나요?
답변:
예, "transition: all"을 사용하면 성능이 크게 저하될 수 있습니다. 특정 속성이 변경되지 않거나 사용자에게 표시되지 않는 경우(예: 색상 또는 치수 변경)에도 브라우저는 불필요한 전환 검사를 수행할 수 있습니다.
데모:
이 Dablet 문제를 보여줍니다: http://dablet.com/gist/1657661. 확대/축소 수준이나 글꼴 크기를 변경하면 시각적 전환이 필요한지 여부에 관계없이 모든 요소에서 애니메이션이 트리거됩니다.
권장사항:
성능을 최적화하려면 "전환"을 사용하지 마세요. : all"을 선택하고 대상 전환을 선택합니다(예: "전환: margin .2s easy-in"). 이렇게 하면 불필요한 검사가 제한되고 원치 않는 애니메이션의 위험이 줄어듭니다.
추가 고려 사항:
"전환: 모두"는 애니메이션 "스플래시"와 같은 바람직하지 않은 효과를 일으킬 수도 있습니다. 전환 효과가 적용되기 전에 초기 스타일이 렌더링되는 페이지 로드입니다. 타겟 전환은 이 문제를 완화하는 데 도움이 됩니다.
위 내용은 'transition: all'이 CSS3 전환 속도를 늦추나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!