A criação de sites reativos e responsivos costumava ser considerada avançada, mas a capacidade de resposta é uma necessidade para sites e aplicativos bem-sucedidos. Adicionamos as consultas de mídia, matchMediae uma série de outras APIs para ajudar os desenvolvedores a facilitar a capacidade de resposta e agora temos uma nova: ResizeObserver. Com a API Resize Observer, podemos observar o redimensionamento de elementos individuais!

Usando ResizeObserver

Para ouvir as alterações de redimensionamento nos elementos, crie um ResizeObserver e chame o observe, passando um elemento:

const observer = new ResizeObserver(entries => {
  for (let entry of entries) {
    // Now do something with the resized element
    if (entry.contentRect.width 



An entry provides you a target element as well as its dimensions and positioning:

entry = {
  target: div, // The element passed to `observe`
  contentRect: {
  bottom: 88,
  height: 88,
  left: 0,
  right: 1043,
  top: 0,
  width: 1043,
  x: 0,
  y: 0
  }
}

Consultas de mídia e matchMedia oferecem uma oportunidade de ajustar a exibição via CSS, mas não a funcionalidade, que é onde o ResizeObserver se encaixa.

Anos atrás, criei um hack para espionar elementos usando CSS, media queries e :beforemas ele exigia sondagem via JavaScript para funcionar corretamente. Ter uma API JavaScript legítima e otimizada para fazer o mesmo é revigorante e extremamente necessário!