--- title: Troubleshooting category: docs layout: doc related: etc --- ## Unloaded Content Most layout modes (i.e masonry, fitRows) need to measure the size of each item to appropriately account for its space in the layout. Unloaded content like images and @font-face fonts can throw off layout and cause item elements to overlap one another. Ideally, Isotope layouts should be initialized after all inner content has loaded. ### Images For images, the best method is to specify the width and height of images inline. {% highlight html %} {% endhighlight %} If you’re using a PHP-based CMS, you can use the [getimagesize](http://php.net/manual/en/function.getimagesize.php) function. Another solution is to initialize Isotope inside `$(window).load()` instead of `$(document).ready()`. {% highlight javascript %} $(window).load(function(){ $('#container').isotope({ // options... }); }); {% endhighlight %} ### @font-face fonts Both Typekit and Google WebFont Loader provide font events to control scripts based on how fonts are loaded. + [Typekit font events](http://blog.typekit.com/2010/10/18/more-control-with-typekits-font-events/) + [Google WebFont Loader: Events](http://code.google.com/apis/webfonts/docs/webfont_loader.html#Events) Additionally, you can use the `$(window).load()` pattern above to wait for all content, including @font-face fonts, to load before initializing Isotope.