Is different from in any way?
They render just fine the same. Any semantic difference b
Yes they are different.
Even though you style a span with display: block you still can't put block-level elements inside it:
display: block
correct wrong
correct
wrong
The (X)HTML still has to obey the (X)HTML DTD (whichever one you use), no matter how the CSS alters things.