Html – Difference between DIV as-is and a SPAN with display:block

html

Is <div/> different from <span style="display:block" /> in any way?

They render just fine the same. Any semantic difference between the two?

Best Solution

Yes they are different.

Even though you style a span with display: block you still can't put block-level elements inside it:

<div><p>correct</p></div>
<span style="display: block;"><p>wrong</p></span>

The (X)HTML still has to obey the (X)HTML DTD (whichever one you use), no matter how the CSS alters things.