Skip to content

[documentation site] Back button does not scroll the page (solution included) #6751

Description

@ibc

NOTE: This happens in a computer view (big screen).

How to reproduce (at least in Chrome):

  • Open (for example) https://nodejs.org/api/http.html
  • Within the "Table of Content", click in Class: http.ClientRequest.
  • It will scroll down to the corresponding class definition, and the window location becomes https://nodejs.org/api/http.html#http_class_http_clientrequest
  • Now press the browser Back button.
  • Window location becomes https://nodejs.org/api/http.html again, but the page was not scrolled up.

This is because <html> and <body> have both height: 100% (this is OK), but then there is a main container <div id="content"> which also has height: 100%, and there is where the problem is:

By having a container with height: 100% within the body, the scroll is not done on the body itself, but on the container. And unfortunately the Back button does not scroll back a div (but just the body element).

The solution is to remove the height: 100% of the <div id="content"> (you can test it by removing such a CSS property in the browser inspector), but of course that requires changes for the left menu to remain fixed when the page is scrolled. Such a change just requires replacing position: absolute with position: fixed in the <div id="column2">.

To summarize:

  • In <div id="content"> remove height: 100%.
  • In <div id="column2"> set position: fixed.

Activity

  1. changed the title [-]Back button does not scroll the page[/-] [+][documentation site] Back button does not scroll the page (solution included)[/+] on May 13, 2016
  2. ibc commented on May 13, 2016

    @ibc
    Author

    The only disadvantage of the above solution is that, when scrolling the left menu and reaching the end of it, the main page is scrolled. This is how the web works however. But I've a mini library for that:

    https://github.com/ibc/dontscrollthebody

    :)

  3. added
    docIssues and PRs related to Node.js documentation.
    on May 13, 2016
  4. mscdex commented on May 13, 2016

    @mscdex
    Contributor

    /cc @nodejs/documentation

  5. ibc commented on May 13, 2016

    @ibc
    Author

    Should I report this issue in https://github.com/nodejs/nodejs.org instead?

    Note that "About this Documentation" clearly states that:

    If you find a error in this documentation, please submit an issue

    (which points to this project)

  6. lpinca commented on May 14, 2016

    @lpinca
    Member

    @ibc does this pr #6641 fixes the issue?

  7. silverwind commented on May 15, 2016

    @silverwind
    Contributor

    #6641 should fix this, which I'll land shortly.

  8. silverwind commented on May 15, 2016

    @silverwind
    Contributor

    https://github.com/ibc/dontscrollthebody

    I had a similar hack planned in #6641, but decided to not mess with the scrolling.

  9. ibc commented on May 15, 2016

    @ibc
    Author

    Yes, #6641 seems to fix it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    docIssues and PRs related to Node.js documentation.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions