Too many websites break entirely if a visitor has JavaScript disabled. I think JavaScript should be opt-in; icing on the cake. Additive.
Say you want JavaScript to decide when to turn a div from opacity: 0 to opacity: 1. That div will never visible if the user does not have JavaScript enabled. opacity: 0 should therefore only be set if JavaScript is enabled.
Here’s the cleanest way I think to do that:
document.documentElement.className = "js";That adds the class js to the root html element. Then, in your CSS:
.js div {
opacity: 0;
}That div will only ever receive the opacity: 0 if the root html tag has the class js applied to it.
See this Sass tip for how to reference a higher-up parent element within your nesting structure. That’s how I apply these .js styles.