이 기사는 Tiffany Brown이 쓴 "The Master of CSS"라는 책에서 발췌 한 것입니다. 이 책은 전 세계 주요 서점에서 구입할 수 있으며 여기에서 전자 책 버전을 구입할 수도 있습니다.
CSS 특정 속성 및 값 트리거 리플 로우는 비싸고 사용자 인터페이스의 응답 속도를 줄일 수 있습니다. 페이지 렌더링, 애니메이션 유창성 및 스크롤 성능은 특히 저전력 장치의 휴대 전화 및 태블릿에서 영향을받습니다. TV.
타임 라인 도구 {.title}
모든 브라우저에서 "레코드"버튼을 눌러 녹화 프로세스를 시작하십시오. 문제가있는 페이지의 일부와 상호 작용하고 완료되면 해당 버튼을 클릭하여 녹음을 중지하십시오.
left
transform
그림 3.16 사파리 브라우저의 HTML 데모 페이지에서도 동일합니다. "이동"버튼을 클릭하면 각 DIV 요소에서
우리의 CSS 코드는 두 부분의 다른 부분입니다. 예 A에 사용 된 CSS는 다음과 같습니다.
이후,이 애니메이션은 타임 라인에서 많은 스타일 계산과 리드 웨이 표시기를 생성합니다. 다음 이미지는 Safari (그림 3.17), Chrome (그림 3.18), Internet Explorer (그림 3.19) 및 Firefox (그림 3.20) 에서이 변환의 타임 라인 출력을 보여줍니다.<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="utf-8"> <title>Performance example</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <button type="button" id="move">Move</button> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <🎜> </body> </html>
<<> 그림 3.17 Safari 브라우저에서의 타임 라인 출력
moved
그림 3.18. Internet Explorer에서 왼쪽 위치 변환의 타임 라인 출력 11 브라우저
var move = document.getElementById('move'); move.addEventListener('click', function(e) { var objs = document.body.querySelectorAll('div'); Array.prototype.forEach.call(objs, function(o){ o.classList.toggle('moved'); }); });
그림 3.20은 전환의 속성이 다음과 관련이 있습니다.
.div { background: #36f; margin-bottom: 1em; width: 30px; height: 30px; position: relative; left: 0; transition: left 2s ease-in; } .moved { left: 1000px; }
그림 3.21 Safari 브라우저에서 속성 변환
-webkit-transform
transform
그림 3.23은
불행히도, 어떤 속성으로 인해 재 배열 및 재로 그리기를 유발할 명확한 목록은 없습니다. Paul Lewis의 CSS 트리거는 가장 가깝지만 크롬 특정입니다. 그러나 브라우저는 이러한 속성 중 다수에 대해 유사하게 작동 하므로이 자원은 적어도 어떤 속성이 문제를 일으킬 수 있는지에 대한 아이디어를 제공합니다.
접두사를 추가하여 속성을 비활성화하고 타임 라인 테스트를 다시 실행하십시오.
transform
위 내용은 UI 응답 성을위한 CSS 디버깅의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!