DOM, CSSOM e RenderThree - Introdução ao Browser Render Path
Entender como funciona o processo de renderização do browser é simples e ajuda bastante na hora de pensar em performance. Nessa apresentação, mostro um pouco sobre esse processo.
manipula o DOM. Você escreve JavaScript, mas usa o DOM para acessar o documento e seus elementos. O DOM não é uma linguagem de programação, mas sem ele, o JavaScript não teria um modelo da página para manipular.
browser carrega todos os estilos dos objetos da página, o browser aplica os estilos da regra mais genérica, recursivamente, para a mais específica, refinando os estilos aplicados. Por isso o termo Cascading (Cascata) no nome CSS.
solid red; p font-size: 16px; color: #fff; Olá span p span maroto Olá dev font-size: 16px; color: #fff; border: 1px solid red; span p maroto DOM dev CSSOM Render Tree
venenatis turpis nec diam tempus convallis eu ac lorem. Integer at ultrices velit, a ultricies odio. Donec eu ex luctus, maximus ante et, dictum leo. Proin ullamcorper ante id dolor viverra, id scelerisque arcu sodales. Maecenas est risus, blandit in nunc eu, ornare maximus est. Nunc nec erat et diam ultricies pellentesque consectetur non turpis. Quisque at auctor massa. Mauris a venenatis enim, nec maximus ex. In dictum odio nisl, eget commodo dui tristique id. Sed fringilla laoreet ligula at aliquam. Suspendisse sit amet nisi ligula. Cras viverra quis arcu mattis aliquet. Sed et nibh a nunc hendrerit interdum a ut lacus. Integer id turpis viverra ex vulputate tincidunt sit amet eget mauris. Praesent eu fermentum nunc, vitae scelerisque elit. Etiam vel eros libero. Phasellus et nunc lectus. Nulla sit amet iaculis felis, a dignissim ipsum. Sed consequat suscipit ipsum, quis euismod mauris commodo in. Fusce aliquet sollicitudin ultrices. Pellentesque vitae lorem mauris. Aliquam varius risus ut leo rutrum vehicula. Nulla tempor nisl mollis, facilisis arcu quis, tempus risus. Suspendisse sed turpis elit. Morbi dignissim sed metus nec luctus. Vestibulum interdum mattis aliquet. Duis facilisis mauris rutrum purus euismod pretium. Nam justo leo, lacinia id dapibus id, bibendum at neque. Sed finibus ipsum sed est commodo, in accumsan lacus luctus. Sed eget lobortis tellus. Aliquam tristique et orci nec ornare. Mauris eu vulputate eros. Etiam ac hendrerit leo, non imperdiet lorem. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras venenatis turpis nec diam tempus convallis eu ac lorem. Integer at ultrices velit, a ultricies odio. Donec eu ex luctus, maximus ante et, dictum leo. Proin ullamcorper ante id dolor viverra, id scelerisque arcu sodales. Maecenas est risus, blandit in nunc eu, ornare maximus est.
posição dos elementos, quando você cria, remove ou esconde elementos com display: none. Essas tarefas fazem o browser ter que recalcular a geometria e a posição dos elementos e seus descendentes.
Constrói o CSSOM parseando o CSS 3 Faz o merge do DOM e do CSSOM na Render Tree 4 Computa a geometria e posição de cada nó do HTML 5 Pinta os elementos individualmente na tela
Faz o request do CSS e do JS que encontra no head 3 Constrói o CSSOM parseando o CSS 4 Executa o JS, porque ele pode modificar o DOM antes de virar HTML 5 Faz o merge do DOM e do CSSOM na Render Tree 6 Roda o Layout (calcula geometria e posição) e o Paint (mostra na tela)
faz o browser pausar o processo de renderização do conteúdo até que o CSSOM seja construído. Mas o browser é esperto e entende quais CSS são bloqueadores.
é carregado na impressão --> <link href="print.css" media="print"> <!-- E este só quando a condição for verdadeira --> <link href="mobile.css" media="(max-width: 980px)">