Readit News logoReadit News
andriamanitra · 2 days ago
Unfortunately it's not widely available yet. [1] If it was supported by all majors browsers it would be nice for that one project I have that still generates a .html bar chart using style="height: ${height}px;".

[1] https://caniuse.com/mdn-css_types_attr_type-or-unit

account42 · 2 days ago
I can't wait for someone to make a CSS style sheet that lets you specify all properties through HTML attributes as if CSS was never invented and we were still using good old <font size=2> just with all the styling additions since then.
wildrhythms · 2 days ago
We have that, it's called Tailwind and it's wonderful
keepamovin · 2 days ago
This is cool. But I like how the FFX bug tracking this (and general attr work that morphed into this through spec) is 17 years old: https://bugzilla.mozilla.org/show_bug.cgi?id=435426

Browser bugs are so cute. Just sitting there for decades, comments accreted over time. Tasks spinning for eternity. These are truly the cicadas of bugs.

scragz · 2 days ago
first they came for my javascript, then my python... now css?! these type-heads need to chill.
notpushkin · 2 days ago
Eh, CSS is inherently typed. My only concern is, why specify types in attr() and not just infer them (like the rest of CSS does)?
eyelidlessness · 2 days ago
Because HTML attributes are inherently stringly typed. Where CSS can propagate types, it’s because the CSS parser and object model are involved. For that to work with attr() would almost certainly involve extending that machinery into all aspects of the HTML spec, and then all that machinery too. Which is probably impractical for more reasons than I can think of, but I can think of several.
pier25 · 2 days ago
How is attr() better than using a css variable?
Inviz · 2 days ago
hmm... where to start?

  - Variables cascade and cause restyle of whole sub-tree.
  - Attributes often are already on the html element, e.g. title, aria, data attributes, so dont need inline styles
  - Not mixing data with presentation
Just to name a few

chrisandchris · 12 hours ago
But if you‘re defining the style within the data (the width within the HTML as data attribute), aren‘t you actually mixing presentation with data?
bawolff · 2 days ago
They do different things, they aren't really in competition with each other.
taejavu · 2 days ago
attr() lets you read values from your html in css. CSS variables do not.
pier25 · 2 days ago
You can set css variables in the style attribute.