Even if you create a span with display: block , you still cannot place block-level elements inside it:
<div><p>correct</p></div> <span style="display: block;"><p>wrong</p></span>
HTML (X) should still obey (X) HTML DTD (no matter how you use it), no matter how CSS changes things.
Therefore, they are different, and therefore there is nothing problematic here.
source share