Most active commenters
  • cluckindan(4)

←back to thread

197 points OuterVale | 12 comments | | HN request time: 1.683s | source | bottom
Show context
anonymars ◴[] No.46227939[source]
I will never understand the bizarre scene of the web's smug collective declaration that tables were dead and not to be used juxtaposed against the years it took to regain the ability to reliably center things. Assuming one agrees that we even did regain it.

Related: I also love when I can't paste tabular data into Excel/etc. anymore

For the record, I don't hate the idea of stylesheets, but...sheesh

replies(11): >>46227986 #>>46228033 #>>46228508 #>>46228913 #>>46228936 #>>46228943 #>>46229276 #>>46229933 #>>46230316 #>>46230586 #>>46232156 #
xboxnolifes ◴[] No.46228508[source]
I think it was advised a bit too early, but ever since flexbox entered the scene, tables for page formatting became irrelevant.

And just in case, nobody ever said tables were dead. Tables were declared bad practice for page formatting, not for tabular data.

replies(2): >>46228655 #>>46229903 #
1. cluckindan ◴[] No.46228655[source]
Do not use flexbox for page layout. It invites nested flexboxes, which eats your reflow performance.

Use grid instead.

replies(4): >>46228809 #>>46228947 #>>46229054 #>>46229152 #
2. twsted ◴[] No.46228809[source]
Useful insight: any sources?
replies(1): >>46228953 #
3. easyThrowaway ◴[] No.46228947[source]
Not the first time I hear of this, but I thought it was a blink-specific issue when using severely nested structures (e.g., html pages written using visual editors like Elementor or Webflow)?
4. dekoidal ◴[] No.46228953[source]
From 2014 https://jakearchibald.com/2014/dont-use-flexbox-for-page-lay...
replies(1): >>46229233 #
5. throwaway77385 ◴[] No.46229054[source]
For quite a while, I had to keep using flexbox instead of grids, because grids killed performance, funnily enough. That seems to have been rectified with modern browsers though, funnily enough.
6. zwnow ◴[] No.46229152[source]
Flexbox is great and having nested flexboxes is also great. It makes building responsive pages a bliss. Learn it if you are having trouble with it, it is really not that difficult. Grids are much more error prone and allow for much less flexibility.
replies(1): >>46247284 #
7. wk_end ◴[] No.46229233{3}[source]
Browser performance tips from 2014 mean very little twelve years on. Not only have machines gotten faster and networks gotten faster, rendering engines gotten faster. And I'm doubtful it nested flexboxes would've been all that much of a problem in most cases even then.

The most important thing is to use the right tool for the job. If grid lets you express what you want in the most straightforward way, use it; if flexbox does - even if it needs nesting - then use it instead. Don't shoehorn one into a situation where the other makes more sense. And sometimes either will work for a particular situation and that's fine too; use whatever you find most ergonomic. They're both very good in their own way.

replies(2): >>46229534 #>>46230689 #
8. cluckindan ◴[] No.46229534{4}[source]
Try resizing a browser window with nested a flex layout.
replies(1): >>46229580 #
9. tim1994 ◴[] No.46229580{5}[source]
Should you optimize for resize performance? I guess that depends on the app. Use the tool that fits the requirements.
replies(1): >>46230643 #
10. cluckindan ◴[] No.46230643{6}[source]
Resizing is not the optimization target, it just makes reflow performance visually apparent.
11. mananaysiempre ◴[] No.46230689{4}[source]
The article is largely about layout shifts caused by flexbox during loading, and while networks have indeed gotten faster, they haven’t gotten faster uniformly across situations and people. Being able to show things properly while they are still downloading remains useful.
12. cluckindan ◴[] No.46247284[source]
The issue with nested flexboxes is that flexbox containers size their content to match the container.

Therefore, to calculate the size of an item, the sizes of other items need to be known. Now, if one of the items is a flexbox, its item sizes cannot be known until the previous flexbox is laid out.

Of course, properly using flex-grow and flex-shrink can optimize that calculation, but what about deeper nested flexboxes?