The web is growing, and so are the number of properties and property values found in a style sheet.
- Style sheets have 3D transforms, which don’t apply to SVGElements.
- Style sheets have stroke, which don’t apply to HTMLElements.
- Etc.
Instead of adding new functionality into a single class of stylesheet for all Elements, maybe it would be better to have subclasses of stylesheets for use by different types of elements including custom elements.
This way, when we look at computed styles for an SVGElement we won’t see unrelated stuff for HTMLElements, etc.
Suppose later the web gains Elements for defining 3D GL scenes, HTML3DElement
s or something. It will get messy to just add more CSS properties into a single class of sheet.