Я пытаюсь использовать плагин javascript Masonry. http://masonry.desandro.com/
Нужно ли иметь контейнерный элемент как div, разве это не могло быть что-то еще? как статья и т.д.?
Да, вы можете использовать любой контейнер для кладки. Однако он должен быть основным контейнером для правильной работы.
<article id='masonry'> // main container is article instead of div
<div class='item'></div>
<div class='item'></div>
<div class='item'></div>
</article>
var container = document.querySelector('#masonry');
См. JsFiddle здесь