logoalt Hacker News

skydhashlast Monday at 1:09 AM2 repliesview on HN

> There was no way to tell where a given style is used from, or even if it's used at all

It's pretty easy. Open the inspector, select an element and you will find all the styles that apply. If you didn't try to be fancy and use weird build tools, you will also get the name of the file and the line number (and maybe navigation to the line itself). In Firefox, there's even a live editor for the selected element and the CSS file.

> if the DOM hierarchy changes then your styles all change randomly

Also styles are semantics like:

- The default appearance of links should be: ...

- All links in the article section should also be: ...

- The links inside a blockquote should also be: ...

- If a link has a class 'popup' it should be: ...

- The link identified as 'login' should be: ...

There's a section on MDN about how to ensure those rules are applied in the wanted order[1].

This way, your styles shouldn't need updates that often unless you change the semantics of your DOM.

[1]: https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Casc...


Replies

evikslast Monday at 5:14 AM

> It's pretty easy. Open the inspector, select an element and you will find all the styles that apply.

Of course it's not easy, 80% of that list will be some garbage like global variables I would only need when I actually see them in a style value, not all the time.

The names are often unintuitive, and search is primitive anyway, so that's of little help. And the values are just as bad, with --vars() and !important needless verbosity in this aborted attempt of a programming language

Then there is this potentiality more useful "Computed" styles tab, but even for the most primitive property: Width, it often fails and is not able to click-to-find where the style is coming from

> Also styles are semantics like:

That's another myth. You style could just be. ReactComponentModel.ReactComponentSubmodel.hkjgsrtio.VeryImportantToIncludeHash.List.BipBop.Sub

What does that inspire in you when you read it?

show 1 reply
lmmlast Monday at 1:38 AM

> Open the inspector, select an element and you will find all the styles that apply.

That tells me which styles apply to an element. You also need the converse - find which elements a given style applies to - and there's no way to do that AFAIK. It's very hard to ever delete even completely unused styles, because there is no way to tell (in the general case) whether a given style is used at all.

> This way, your styles shouldn't need updates that often unless you change the semantics of your DOM.

In my experience the DOM doesn't have semantics, or to the extent that it does, they change all the time.

show 1 reply