According to the standard, the browser can display this element before the script is executed. But this does not mean that it is necessary. I checked your code in 4 browsers, and only one of them drew .box execution before the script - it was Opera 12. All other browsers - Chrome, FF, IE11 did not.
As I recall, chrome once said that it allows them to optimize something, and they thought that the speed of the Internet became big enough to wait for a full load.
source share