as they are an order of magnitude faster in most browsers, getBoundingClientRect() tends to cause relayout.