Yep.
One of the most noticeable differences is that in quirks mode, BODY (document.body) is considered to be root element, whereas in standard mode (and the way it's meant to be) - root element is HTML (document.documentElement).
This, for example, affects the way viewport dimensions are usually calculated; in standard mode, one would use document.documentElement.clientHeight
, while in quirks - document.body.clientHeight
- to get height of a viewport.
Detecting this behavior is easy - document.documentElement.clientHeight == 0
- would tell us that documentElement
is not the root element, and that body should be used instead.
And of course other usual quirks mode discrepancies, such as assigning unitless CSS values, result in a different outcome. When in quirks, such values are traditionally assigned successfully, whereas in standards mode - they are ignored.