I\'ve heard that putting a block element inside a inline element is a HTML sin:
What we have here is a
You can't put Even though you style a span with display: block you still can't put block-level elements inside it: the (X)HTML still has to obey the (X)HTML DTD (whichever one you use), no matter how the CSS alters things. The browser will probably display it as you want, but that doesn't make it right. - it's not valid (X)HTML.