58 comments

  • JoshTriplett 3 hours ago

    The net result of what this site is doing seems to result in one of two effects when I open the sidebar, randomly:

    1) the sidebar covers the content, while the content has blank space to the right, or

    2) the content moves off the right edge of the screen, leaving a large blank space to its left.

    Both of these are wrong. If I have a sidebar open, the site is now narrower, stop trying to be clever.

    My immediate reaction to this is why is the browser giving the site this information, and could we stop.

    • seg6 2 hours ago

      Agreed, both outcomes are bugs and neither is intended. The idea is simply that, content the site author intended to be horizontally centered stays literally centered on my screen when browser UI changes the viewport.

      • Borealid an hour ago

        This is a nonsensical goal.

        If I drag a browser window to the right, making it cover the right-hand half of my monitor, it serves no useful purpose for "centered" content to migrate to the left edge of the window (the physical midpoint of the screen).

        Centered means centered within the virtual viewport, not the physical screen.

      • JoshTriplett an hour ago

        That results in the first outcome: the content is centered on the screen, which puts it under the sidebar, while there's perfectly good space being ignored off to the right of it.

        It's a cute trick, please don't use it, this is one of many reasons why. If I have a sidebar open, it's because that space is not yours to care about.

      • kqp an hour ago

        Think about users who don’t maximize the window, for whom centering to the screen, not viewport, would just be broken. It’s right to center to the viewport, and right that you’re able to turn that into centering to the screen by maximizing. The issue, I think, is that you don’t like that the sidebar changes the viewport, and really want a popup menu. I think your browser might duplicate sidebar functionality in configurable toolbar button popups, have you tried that? Failing that, I think the right solution to this problem might be a browser extension.

      • wat10000 2 hours ago

        The author should not intend that, and if they do, my browser should do its best to put a stop to it.

        • shijie an hour ago

          I'm fairly certain you just replied to the author

          • wat10000 22 minutes ago

            The author referred to themselves in the third person, so I did the same.

          • alterom an hour ago

            I hope the author gets the point then.

  • kccqzy 3 hours ago

    This might be some kind of a weird requirement for a piece of art, but I would literally never expect a website to center a div according to the browser window instead of the viewport. It just looks wrong and feels wrong.

    • seba_dos1 3 hours ago

      Same. Thank heavens the website doesn't know the position of the browser's window in respect to the screen it's on.

    • kazinator an hour ago

      Televisions used to have "sidebars", like a speaker on one side only, with some knobs co-located there also. Yet a test pattern would center in the picture tube, not the TV box.

    • seg6 3 hours ago

      The point of centering an element horizontally is to make sure that the content you’re viewing is directly in front of you. Browsers with a sidebar shift the content to the right, assuming the sidebar is on the left, which I’ve come to dislike! Others have expressed the same preference, hence this little snippet on my website.

      • stevage 3 hours ago

        > The point of centering an element horizontally is to make sure that the content you’re viewing is directly in front of you.

        That's an awfully big assumption. For starters, you're assuming that the browser window itself is centered on the screen, and that the device is centered in front of the user.

        I don't think this is the point of centering an element horizontally at all, and the result you have created here is not at all what I as a user want.

      • danillonunes an hour ago

        I don't usually use browsers sidebars, but when I do I mentally compensate for it. The viewport is in fact the part of the web page I expect to be the full width, and what things should be centered on.

        The same way the vertical centering counts the viewport height only, not the url bar and the tab bar.

      • wizzwizz4 3 hours ago

        As a rule, you should not add functionality to a website to compensate for browser misfeatures. People who want the browser to work differently can get a different browser: that's why we call them "user agents". Making the web all complicated like this mainly serves to make it harder for people to use alternative browsers, or for browsers to change their misfeatures without breaking compatibility.

        • seg6 2 hours ago

          Fair enough, that criticism resonates. I've decided to keep this behaviour only in the extension and have reverted it from the blog. Thanks!

      • nkrisc 3 hours ago

        Joke’s on you: my browser window isn’t centered.

        • sebastiennight 5 minutes ago

          Ah but see, exploiting a Chromium API has let us know you've got this second screen on the side, so we're centering the div on your overall work space.

          PS: if you switch from the touchpad to a wireless mouse, we'll move the div accordingly

      • scubbo 2 hours ago

        I salute your dedication to understanding and fixing a problem that bothers you - but I must add my voice to those who think that this is not a good design for general use. The viewport is the region within which content should be positioned, and thus within which they should be centred. By your logic, left-aligned content in a browser with a left sidebar should be deliberately covered.

      • wat10000 2 hours ago

        This all sounds like a really elaborate way of not taking advantage of the fact that modern windowing operating systems don't require windows to be full screen, and allow you to position the sides of your browser window wherever you want them to be.

  • krick 3 hours ago

    Screenshots would be helpful, because (you may be surprised to learn that) it is not entirely obvious which mode of behavior is supposed to be "wrong".

    Anyway, I wouldn't say it currently behaves nicely (like something I would like to reuse anywhere whatsoever). Tested on Firefox opening Bookmarks on the left. First off, there is this ugly flicker, as browser first renders the "wrong" version, then your JS "fixes" it. Second, there is some concurrency problem, as by opening and closing Bookmarks repeatedly I somehow managed to render both versions: centered to viewport and covered by sidebar.

    And, yeah, as others have said, I also think that allowing sidebar to cover your webpage content is absolutely bogus and don't foresee myself wanting this behavior, ever. But that's up to you.

    • seg6 2 hours ago

      I’ve added GIFs showing the intended behavior. The brief movement doesn’t bother me, opening or closing a sidebar already resizes the webview and causes pages to reflow in the browsers I use. Ending in the wrong state after repeatedly toggling it is a bug. And yeah, if you prefer viewport centering, there’s no reason you’d want to use the extension.

  • fluoridation 3 hours ago

    I had no idea what this was talking about at first because I had JS blocked, so nothing special seemed to happen when I opened the bookmarks panel. This looks absolutely goofy. I don't know why you'd want the content potentially getting covered by unrelated UI elements.

    • busymom0 3 hours ago

      > This looks absolutely goofy. I don't know why you'd want the content potentially getting covered by unrelated UI elements.

      Here in Canada, the mobile website for anything related to Indian immigration (Indian passport, visa etc) is done via this absolutely goofy website with multiple levels of UI elements and popups covering the content. Have a look on mobile:

      https://www.blsindia-canada.com/ottawa-jurisdiction/index.ph...

  • crtasm 3 hours ago

    Meanwhile this website has learned how to break mouse scrolling.

    • inventor7777 2 hours ago

      What do you mean? On macOS Safari I see a scroll bar that I can drag with my mouse if I wish.

      • crtasm an hour ago

        Scrolling the page with mousewheel/multitouch doesn't work unless the pointer is inside the white area

        ...appears it's been fixed since my original comment. There's still no scrollbar in the expected place on the side of my browser window though.

  • kazinator an hour ago

    What's the substantial difference betweeen "browser added sidebar" and "the browser has allowed height and width of the window to be resized since the dawn of the web"?

  • drewbeck an hour ago

    You’ve effectively created a slide over sidebar. It’s an interesting hack to get there but IMO “should” properly be the domain of the browser.

    • alterom 41 minutes ago

      See, I'm keeping my siidebar open most of the time, so I WANT it to cover the content that would otherwise be visible - said no one ever.

      But yay, it's centered relative to the window now! God forbid the user tiles their windows, because it breaks the aesthetic the website author intended.

  • danielvaughn 34 minutes ago

    Am I the only person that loathes sidebars in browsers? Maybe it's because I've been using a browser since 1996, but my brain is deeply set in the idea that the space below the chrome 110% belongs to user space.

    I've tried a few browsers with vertical tabs, and my brain keeps seeing them as part of the page itself. It's a very distracting and uncomfortable experience.

  • ezwoodland an hour ago

    Websites should be thought of as VMS and shouldn't be trying to reverse engineer host state.

  • skgough 3 hours ago

    I think the scrollbar-gutter property helps with this. https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/P...

  • jszymborski 3 hours ago

    margin:0 auto is the (probably incorrect) incantation I have always reached for

    • sodapopcan 3 hours ago

      That's fine but it only centres horizontally. Usually when people talk about "the div centring problem" they mean x and y, dead centre (as this article is).

  • gerdesj 2 hours ago

    I'm 55 years old. My eyes are not what they used to be and neither are my glasses. I also own a copy of "Usage and Abusage" but I'll pass on that. Click on story link. My laptop renders a page - OK its black text on a white background (thank you but I doubt its a deliberate boon) ...

    ... why on earth is the offering a "page" ie emulating a printed page? In portrait!

    I'll accept that most people are not fixated about grammar, punctuation or basic decency: that's fine.

    However a "page" in portrait that looks awful on a landscape screen is unpleasant. You can easily request my viewing parameters and adjust accordingly. It's even worse when you are dispensing advice about www page layouts.

    • sherry-sherry 37 minutes ago

      Longer lines of text are harder to read. There's a reason newspapers, books, articles, etc are all vertical and often have a similar amount of words per line. It's easier to follow, scan, and find your place.

      Some more on this below:

      Optimal Line Length in Reading — A Literature Review (https://journals.uc.edu/index.php/vl/article/view/5765)

      Practical Typography — Line Length (https://practicaltypography.com/line-length.html)

    • seg6 2 hours ago

      I’ll accept that not everyone likes a portrait page on a landscape screen, that’s a matter of taste. But if you’re going to invoke Usage and Abusage, grammar, punctuation, and "basic decency", it would help to identify an actual error. And perhaps write "it’s" correctly while doing so. I’m also unclear what moral failing you think an A4 aspect ratio represents.

  • SpyCoder77 2 hours ago

    There needs to be images on this

  • josefrichter 3 hours ago

    Centering a div? Impossible.

  • dyauspitr 2 hours ago

    Jokes on you, I never learned and now LLMs just know how to do it instead.