Recentemente, tenho brincado muito com meta viewports por ver muitos aplicativos de TV em HTML5 codificados explicitamente para 1280×720, o que o senhor verá em muitos televisores HD. Todos nós sabemos que é uma prática muito melhor usar o design responsivo em vez de codificar as dimensões, mas, além disso, os meta viewports devem fazer o dimensionamento. Portanto, são as transformações CSS, especificamente scale(), para ajudar.
Ao criar um meta viewport shim, precisei calcular as dimensões de um elemento depois que ele foi dimensionado. Propriedades como clientWidth e innerWidth retornarão a largura original do elemento, ignorando a transformação. Para obter o tamanho em escala, o senhor deve usar getBoundingClientRect:
var originalWidth = myElement.innerWidth; // 1280
var originalHeight = myElement.innerHeight; // 720
originalElement.style.transform = 'scale(1.5)';
console.log(originalElement.getBoundingClientRect());
/*
ClientRect {
bottom: 1080
height: 1080
left: 0
right: 1920
top: 0
width: 1920
}
*/
O exemplo acima define a escala e retorna diferentes dimensões de altura e largura desejadas com base na escala. getBoundingClientRect também retorna mais do que apenas altura e largura por coordenadas de posição.
Eu estava preocupado em não conseguir realizar essa façanha, mas o getBoundingClientRect foi a solução perfeita!
Atribuir IDs de âncora usando o MooTools 1.2
Um dos meus usos favoritos da biblioteca MooTools JavaScript é o plug-in SmoothScroll. Eu o utilizo em meu site, no site do meu empregador e em muitos sites de clientes. A melhor parte do plug-in é que ele é muito fácil de implementar. Recentemente, eu corri…


