Background Image
Table of Contents Table of Contents
Previous Page  30 / 68 Next Page
Information
Show Menu
Previous Page 30 / 68 Next Page
Page Background

POST

DO DIEGO

DEV WEB

30

Cargo:

Criador do

Tableless.com.br e

coordenador de

Front-end na Locaweb

Contato:

diego@

tabeless.com.br

Twitter:

@diegoeis

DIEGO EIS

Você sabe o que é CSSOM?

Já deve ter ouvido falar do

Document Object Model

(DOM). É uma representação

do que será o código HTML que

o browser vai renderizar para

o usuário. A maioria dos Devs acha que o

DOM é o próprio HTML. Está errado. Não

caia nessa armadilha. O DOM é apenas uma

árvore, que representa a relação entre os

nós do HTML.

O CSSOM é a mesma coisa, mas para

HVWLORV 7RGR HOHPHQWR +70/ QR íQDO GD

renderização, vai precisar de um estilo que

determinará sua posição, geometria etc. Antes

desse estilo ser aplicado, o CSSOM é criado.

Bem como o DOM, ele é uma representação da

árvore de estilo do documento.

O processo é bem simples. Segue um resumo

para você entender o que o browser faz antes de

mostrar o site para o usuário:

à 2 EURZVHU PRQWD R

DOM

(Document Object

Model) do documento. É uma representação do

que será seu HTML. Ele é essencial para o browser

entender a relação que os elementos têm entre si.

Mas lembre-se: o DOM não é o HTML. O HTML é o

UHVXOWDGR íQDO

à 2 EURZVHU PRQWD R

CSSOM

(CSS Object

Model), que é uma representação, como o

DOM, que guarda as regras de formatação dos

elementos do HTML.

à 2 EURZVHU MXQWD DV GXDV £UYRUHV R '20

e o CSSOM, em uma única árvore chamada

RenderTree

. Na RenderTree, o browser monta

uma árvore baseada nos elementos que serão

visíveis para o usuário. Isso quer dizer que

elementos que têm%%display: none%% não vão

constar na RenderTree.

à 'HSRLV GH MXQWDU DV GXDV £UYRUHV R EURZVHU

calcula a geometria dos elementos, colocando

largura e altura. Feito isso, ele posiciona o

elemento na tela. Essa fase se chama

Layout

.

à 6DEHQGR GR VHX WDPDQKR H VXD SRVL©¥R

o browser entra da fase chamada

Paint

. Nessa

IDVH HOH YDL SLQWDU RV HOHPHQWRV H VHXV íOKRV

na tela, renderizando cores de background,

imagens de background, borda, drop-shadow e

outras propriedades.

(VVH SURFHVVR WRGR SRGH íFDU PDLV GHYDJDU

ou mais rápido dependendo de como você serve

seus assets. Todo arquivo CSS linkado em seu

documento vai bloquear a renderização do HTML.

A mesma coisa acontece com os arquivos de JS.

Isso se chama CSS ou JS bloqueante.

Embora seja um assunto básico, que todo

mundo que trabalha com web deveria saber, é

uma matéria muito rica e interessante para passar

um tempo se aprofundando mais. Então, aí vão

alguns termos para você procurar e continuar

RV HVWXGRV UHîRZ UHSDLQW SUHIHWFK UHQGHU WUHH

construction, critical render path.

V

[

OCSSOMÉ A

MESMA COISA,

MAS PARA

ESTILOS. TODO

ELEMENTOHTML,

NO FINAL DA

RENDERIZAÇÃO,

VAI PRECISAR

DE UMQUE

DETERMINARÁ

POSIÇÃO,

GEOMETRIA

]

O BÁSICO DA RENDERIZAÇÃO

CLIENT-SIDE

DOS BROWSERS

LW

REVISTA LOCAWEB