3 ms·
> As more web development (in JavaScript) moves away from anything resembling inheritance, the cascade in CSS starts to feel annoyingly out of place. I am puzz
by azangru 3y ago
> As more web development (in JavaScript) moves away from anything resembling inheritance, the cascade in CSS starts to feel annoyingly out of place.
I am puzzled by this statement. The cascade is the algorithm for resolving conflicts when multiple rules apply to the same HTML element (based on css rule position, specificity, origin, and importance). Inheritance in CSS is a different topic, where a subset of properties defined on the parent are automatically applied to the children. Without inheritance, you would have to redefine the same properties on each of the children (e.g. the body font-size, or font-family, or color would have to be repeated on each of the children elements). Without cascade, the browser wouldn't know how to resolve conflicting rules. How is any of this out of place?
- moritzwarhier 3y agoYes, both the cascade and (CSS) inheritance are valuable and necessary. Not the commenter you responded to, but I'm guessing they meant "inheritance" as a programming practise, not the CSS-specific meaning. Inheritance of CSS rules down the DOM tree is indeed essential for CSS to work, even if you are using some sort of scoping. Scoping is about limiting the DOM subtree that a CSS rule applies to, so sure it is related to CSS rule inheritance. But even if you use tailwind, (Vue) scoped styles or styled components, you still need CSS inheritance. Nobody aims to apply CSS per-element only, although large parts of it are exactly that. In other words, Tailwind authors stil expect "text-red-500" to be inherited down to child elements. so much for inheritance, regarding the cascade: Point of maintable CSS is to keep the cascade flat and avoid multiple levels of overrides or very specific selectors.
- ttfkam 3y agoWith so many developing for the web, it's often astounding to me how many of them have such a low appreciation of the platform they develop for.
- deleted 3y ago[deleted]
- Klonoar 3y agoMany of us have developed for this platform for decades and are just willing to call a spade a spade. ;P
- Klonoar 3y ago> Not the commenter you responded to, but I'm guessing they meant "inheritance" as a programming practise, not the CSS-specific meaning. Yes, that is what I meant. Thanks for jumping in and clarifying. :)