I saw yet another “CSS is a massively bloated mess” whine and I’m like. My dude. My brother in Chromium. It is trying as hard as it can to express the totality of visual presentation and layout design and typography and animation and digital interactivity and a few other things in a human-readable text format. It’s not bloated, it’s fantastically ambitious. Its reach is greater than most of us can hope to grasp. Put some *respect* on its *name*.
@Meyerweb “My brother in Chromium” 😂
@knowler @Meyerweb I'm stealing this for sure 
@Meyerweb *MY COMRADE IN CHROMIUM*
@Meyerweb *respectfully wondering where "regions" went*
@subtl I do miss those and hope they’ll come back. But WOW is that a hard problem to solve in a markup environment. Could be that the way anchor positioning is solved will point the way…

@Meyerweb I spent some time publishing info with XSLT:FO.

I wish one could arrange content in columns that are the height of the screen so you can:
* use the entire window for content, not a thin column down the middle;
* not have to scroll up and down if the columns are taller and;
* not have the column of text so wide it's uncomfortable to read.

Do you remember a newspaper that was online in the early 00s that arranged content in columns and scrolled sideways? I think it had "Christian" in the name? International Christian something?

@subtl

You'd want to use the `columns` property for that. https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/columns

I'm not sure how to size the element to make it expand horizontally, though. I'm on a phone so I can't check right now, but this may or may not work:

columns: auto 80ch;
width: max-content;
height: 100%;

@Meyerweb

columns - CSS | MDN

The columns CSS shorthand property sets the number of columns to use when drawing an element's contents, as well as those columns' widths.

MDN Web Docs
@subtl @Meyerweb Sounds like the https://github.com/w3c/csswg-drafts/issues/2923, which was resolved to have in CSS, and there is currently a prototype of it (column-height property, which you could use viewport units for, of course) in Chrome Canary.
[css-multicol] Overflow in the block direction for continuous media · Issue #2923 · w3c/csswg-drafts

In multicol 1, overflow in continuous media happens in the inline direction, therefore if we restrict a multicol container by height and the content of that container creates more columns than will...

GitHub
@Meyerweb I’m guessing their solution is something like Tailwind or CSS-in-JS too.
@Meyerweb in my experience the only people complaining about CSS have never bothered to actually attempt to understand it
@josh I’m more than 60 years old. Is there time for me to understand it?
@MikeStok @josh <div style="color: grey;">no, sorry 😕💔</div>
@MikeStok who am I to impose limitations on you?
@Meyerweb
How do you not look upon CSS and weep at its majesty
@jonny @Meyerweb CSS == trigonometry, set theory, graph theory and geometry without having to write a single maths equation!

@jonny @Meyerweb I have this feeling that a LOT of the divide is people who don't remember the bad old ways

Is CSS perfect? No.

Is CSS a hell of a lot better than every other attempt at generalizing the problem of layout? Yep.

@SnoopJ @jonny @Meyerweb experiencing the bad old days definitely helps, but the fundamental thing is "do you understand the problem domain". I am frequently annoyed by CSS due to its *inherent* complexity, but I don't just remember Netscape Navigator 3, I remember FrameMaker. I remember Quartz Xpress. Even if you've seen other *good* solutions, CSS is still kind of a miracle, and anyone who thinks it's "bloated" just doesn't appreciate the complexity of the challenge it is addressing.
@glyph @jonny @Meyerweb yea very possible that this is the real issue, and personal experience with that complexity is just a correlate for appreciating how IMPOSSIBLE it seems to come up with tools to solve the general problem at all, let alone well enough that someone would call that solution "good" or "great"
@SnoopJ @glyph @jonny @Meyerweb I mean, this happens a lot, though? Sure, a bunch of things in tech are bloated, but also I've been poking around the Unicode specs a fair bit lately and every single weird thing is followed by an example of an actual, real, human language that needs that weird thing in order to work.

@xgranade @glyph @jonny @Meyerweb restraining my special interest in Unicode in order to vehemently agree with this take

the equivalent "Unicode is overcomplicated/bad/[other hollow criticism]" complaints drive me positively mad

@SnoopJ @glyph @jonny @Meyerweb It's incredibly complicated, but that doesn't imply it's *over*complicated, yeah.

@SnoopJ @glyph @jonny @Meyerweb I had no idea that Finnish sometimes uses colons as a letter when transliterating loan words! Splitting strings on colons is a fantastically bad idea when working in Finnish locales! That's complicated, but then again *so is human language*.

Anyway, all by way of agreement with the broader point about CSS. Really my only wish was that it was easier to center shit.

@xgranade Swedish uses colons in a similar way to apostrophes in English, but much less frequently, so it would be bad in Swedish locales as well.

And it’s not only human language that is complex (something I know a bit about as a linguist), but also typographic conventions (something I know a bit about as a typographer).

Which brings us back to CSS, and while there are many frustrating things in CSS when working with many languages, it’s still better than almost anything else I’ve used.

@xgranade @SnoopJ @glyph @jonny @Meyerweb my (limited) understanding is that the colon in Finnish is for attaching endings to basically any word-shaped thing that isn't spelled out - numbers (1:n), initialisms (TV:sta), and letters - not for transliteration.

Also fun fact: German often uses colons in gendered words to make more inclusive language, e.g, Lehrer:innen to represent Lehrer (male teachers) and Lehrerinnen (female teachers). The good news is that this is far from settled, so * and _ are also often used 🎉

@xgranade okay maybe not ENTIRELY restraining my special interest, but a particular bug-bear that gives me a lot of embarrassment for my peers:

"Unicode[sic] is going to be filled up with emoji!"

do you know how much of the UCD is actually allocated?

It's <20%! Over like 30 years!!!

@SnoopJ @xgranade @jonny @Meyerweb you know that thing where youtubers sometimes have boxing matches where they beat the shit out of each other on stream for charity or whatever? anyway I wonder if we have similar opinions about han unification

@glyph

On that note, can we please have a CSS layout engine for typesetting books? With page-numbered cross references? That'd be great.

People keep making dedicated typesetting software like TeX and Typst, but this all has a rather serious problem: any book these days needs to have a web and/or EPUB version, and the author doesn't have full control over its appearance if it's translated from a print typesetting language. But if it's HTML/CSS first, no problem.

@SnoopJ @jonny @Meyerweb

CSS paged media - CSS | MDN

The CSS paged media module defines the properties that control the presentation of content for print or any other media that splits content into discrete pages. It allows you to set page breaks, control printable areas, and style left and right pages differently.

MDN Web Docs
@jonny @argv_minus_one @SnoopJ @Meyerweb ooh. I was vaguely aware that this existed and I was going to say something to that effect, but this specific link is much better, thank you!
Prince - Prince for Books

Convert HTML documents to PDF. Beautiful printing with CSS. Support for JavaScript and SVG.

@aslakr @glyph @argv_minus_one
that is indeed what is recommended in the above example :)

@jonny @aslakr @glyph

Those prices though. 😵

I also generally don't use non-FOSS tools. I worry about malware and rug pulls with the proprietary stuff.

@argv_minus_one @jonny @aslakr @glyph You asked if you could have it, not if you could have it for free ^^

There are more tools, many commercial, listed here:
https://www.print-css.rocks/tools

For a FOSS solution, WeasyPrint is interesting, but is more limited than Prince/PDFReactor/AntennaHouse.
https://weasyprint.org/

print-css.rocks - PrintCSS CSS Paged Media tutorial and information

PrintCSS/CSS Paged Media (PDF generation from XML and HTML using CSS stylesheets) tutorial and showcase with lessons, tool descriptions and comparions. PDFreactor Antennahouse PrinceXML

@fvsch

Nice. I had heard of that and Paged.js. Now I know about Vivliostyle as well. Thanks for the link!

@jonny @aslakr @glyph

@glyph @SnoopJ @jonny @Meyerweb
As someone who used to hand-edit (code?) PostScript "documents" back in the early days, I have a deep appreciation of how easy CSS is to use by comparison.
@bogosity @glyph @SnoopJ @jonny @Meyerweb My god this. Also debugging generated postscript files to figure out why something isn't printing "right".
@Meyerweb too bad the w3c is a google production which makes it impossible for users to provide any input on the format. is there a reason it needs to be human-readable without any form of intermediate representation? is there a reason it must support the entire universe of interactivity along with layout? part of the reason browsers are sites of monopolistic coercion is the lack of ability to break down these burgeoning standards into component parts. there's no alternative to CSS because it has swallowed up the alternatives.
@hipsterelectron
Can you expand or give examples of an intermediate representation? Not sure what you mean.
@Meyerweb
@hipsterelectron @Meyerweb It needs to be human readable because humans need to read it.
@Meyerweb People who had to develop websites before CSS existed understand.

@superflippy @Meyerweb

Perhaps some people need to be reminded of IE's box model.

@superflippy @Meyerweb
Compare Mobi ebooks (HTML3) with epub2 ebooks (subset of XHTML HTML5 & CSS3). The epub2 is elegant, and while it can't duplicate paper from PDF, the insides of PDF is horrible and doesn't reflow, but epub2 working from 2.4" to 32" screen & 50 dpi to 300 dpi.

Some people are clueless about CSS. Maybe they use wordprocessors as typewriters?
Maybe designers of InDesign, as LO Writer ODT ->docx ->Calibre -> epub2 gives 1:1 styles to CSS.

@Meyerweb frankly, I haven't seen a single layout system that comes even close to CSS in at least versatility or reliable defaults, let alone both.

Even imitations like QML break apart on most trivial things.

@Meyerweb

LOL.

well, "cascading style sheets" polled better than "hopeless wishful thinking for magical typesetting that will work for everyone".

@Meyerweb and it's doing that while being far more efficient about it than any javascript or wasm could ever even dream of writing
@Meyerweb they do know they are complaining about the spectral variability that is “humans” in the “Human Computer Interface (HCI)”?
@dahukanna @Meyerweb HCI <puffs pipe> now there's a name I haven't heard in a loooong time...
@Meyerweb

I do have to say though... In the olden days I used to make websites in vim in plain html back when frames were the new and hot thing... Kept up until php, xhtml and the first iterations of css... And then it all just got way too complicated. When I now glance at a website's source code I usually haven't the foggiest about what's going on. Most of the web code out there isn't human readable anymore and that's a damn shame.

@MxAlba

Disagree. I sometimes look at what other sites are doing to draw inspiration (or to have a chuckle at their expense 😏).

@Meyerweb

@Meyerweb one day it will be so big that it won't be cornered as a "specialty" skill any more

@Meyerweb Some problems are just hard. It does no one no good to pretend they aren’t.

Those same people then whine about complex test setups behind seemingly simple problems.

@slotos @Meyerweb yes! and, to CSS’s unending credit, difficult things seem to get easier all the time.

remember having to use floats to get column layouts? then came flexbox. and then came grids!

i feel like every time i look at CSS, something has improved.

@Meyerweb

This goal is admirable, but it also seems unachievable.

I wonder if it would've been better to just let web pages supply their own layout code and shaders. It'd slow down page loading, but it would also make browsers much smaller and simpler while removing the limits on what web designers can do.

@argv_minus_one If that is what you think CSS is for, you have fundamentally misunderstood it.

@ahltorp

Perhaps I have. Could you elaborate?

@argv_minus_one One ord elaboration: accessibility