A 'div' is a block element, and a 'span' is an inline element, so you can't place a 'div' inside a 'span'.
Block elements cannot be placed inside inline elements because inline elements are meant to contain only text or other inline elements, not larger block elements. This rule helps maintain a clear webpage structure, improves accessibility, and ensures consistent display across all browsers.
Here are official sources explaining why inline elements cannot contain block elements:
Block-level content Inline-level content
These sources cover the differences between block and inline elements and why inline elements should only contain text or other inline elements.