Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I want this and am eventually going to try harder to implement it, but the reason is basically because CSS can’t do it. What do you do when you still have more content than fits on the screen? If you just stick with default CSS behavior and make the columns taller than the screen, now you’re scrolling all over the place constantly, it sucks. If you add more columns off to the right, you already probably need to use JS for layout, and it still isn’t nice on desktop, you need to scroll more for each bit of content and most desktops don’t have intuitive side scrolling controls. What you want is viewport-sized “pages” with a dynamic number of columns per page, but this is basically a whole extra layout mode that you need to implement in JS. There was a whole project to let JS plug into the layout engine better, I think it’s stalled now, I don’t know if it got far enough. Then there’s the weird bottom right -> scroll -> top left jump, you probably want to implement a hint or UI there, maybe even column to column since we’re breaking norms here. Scroll snapping is thankfully in CSS now, so we don’t have to worry about scrolling precisely to the next screenful, but we do cost people the ability to put what they want where they want it within the viewport. You’ll need to implement something to make anchor links work again, users can no longer just look at the top of the page. Everything’s going to go nuts when users resize the window, and maybe even more nuts due to browser attempts to keep them “in the same place”, you need to make it some semblance of ok. As soon as you want something non-text your columns will be too narrow, so you’re really going to have to implement complex column-spanning stuff off the bat. CSS thankfully has tools for controlling things like “don’t split this across columns”, but I bet they’ll prove inadequate if you dig into it. You’ve also reduced linearity, it’s now much less true that what’s above is before and what’s before is above, etc.

I’m still interested in this layout, but that’s why nobody does it: it’s far more complex from the web dev’s perspective, bad if not executed perfectly, and still has downsides even if perfect.

I think it’s still popular in places where the viewport size and content are both known at design time.



I remember somebody championing css features, I think Adobe, to make it possible to have overflowing content spill over into another container, like it is (was?) possible to do in Publisher. I'd love something like that, and have wanted it several times. But it was abandoned...


Never knew that. I think that in combination with CSS grid auto fill, that may have solved a huge chunk of paged columns.


I find shift + scroll quite intuitive. Works on almost everything where there is a horizontal scrollbar.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: