Just use div elements - don't use span elements.
Both of these elements are extensively used in modern HTML together with CSS. The only real difference is that:
span elements have the built in display : inline
div elements have the built in display : block
If you change the display property of a span to be block you can make it behave like a div. Likewise if you change the display property of a div to be inline-block then you can make it behave like a span.
We do exactly that experiment here.
So in the interests of simplicity and avoiding features it makes sense to just use <div> tags and combine it with CSS. There is less abstraction which means one needs to think through the problems more thoroughly.
Â