- FixCSS
CSS started out as something a lot simpler. Originally it was just a bare-bones means to lightly simple, majority text pages, but it quickly took off and had to keep up with the swiftly evolving web.
Along the way, mistakes were made – both genuine blunders and at the time reasonable choices which time hasn’t been kind to and which are flawed in retrospect. The CSS Working Group published the Incomplete List of Mistakes in the Design of CSS, which outlines a great many of these suboptimal features. A similar story is etched into the history of many languages; they started simple with a tight scope, but decades of usage have expanded the cases beyond the original design decisions.
These mistakes obviously cannot just be fixed, for the plethora of existing software relying on them would break, and even if fallbacks were implemented, there are edge cases galore which could cause unacceptable disruption. Thus, to peer into the alternate timeline where CSS didn’t make these mistakes, I’ve created a library: FixCSS.
FixCSS tackles the mistakes and the knock-on implications of them to present a CSS where they never happened – a CSS that could have been. It works client-side, as a Node package, and via the command line (CLI). It is mostly a novelty, rather than something for production. We must live with the stylesheets we’ve cascaded ourselves into.
The source code is on Tangled: https://tangled.org/vale.rocks/FixCSS
The library can be found on NPM: https://npmx.dev/package/@declanchidlow/fixcss