1. A computer system, comprising: one or more processors; and one or more computer-readable hardware storage devices having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to render content on a display, and further to cause the computer system to perform at least the following: create a layout viewport that identifies a portion of content of a web page that is available for display in a web browser and how the portion of content is to be laid out within the layout viewport, the portion of content including a fixed position user interface element that retains a fixed position within the layout viewport as the portion of content changes due to the layout viewport being scrolled over the content of the web page; create a visual viewport that overlaps the layout viewport and that renders at least a part of the portion of content identified by the layout viewport, wherein the visual viewport is moveable and sizable within and independent of the layout viewport; and enable interaction between the visual viewport and the layout viewport, including: rendering the fixed position user interface element on the display based at least on identifying that a size and a position of the visual viewport causes the visual viewport to overlap a portion of the layout viewport containing the fixed position user interface element; subsequent to rendering the fixed position user interface element, detecting a condition in which an overlay user interface is to be displayed; reducing the size of the visual viewport to accommodate a detected size of the overlay user interface; and rendering the overlay user interface instead of the fixed position user interface element, based at least on the reduced the size of the visual viewport causing it to no longer overlap the portion of the layout viewport containing the fixed position user interface element, and based at least on the overlay user interface overlapping the portion of the layout viewport containing the fixed position user interface element.
1. A computer system, comprising: one or more processors; and one or more computer-readable hardware storage devices having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to render content on a display, and further to cause the computer system to perform at least the following: create a layout viewport that identifies a portion of content of a web page that is available for display in a web browser and how the portion of content is to be laid out within the layout viewport, the portion of content including a fixed position user interface element that retains a fixed position within the layout viewport as the portion of content changes due to the layout viewport being scrolled over the content of the web page; create a visual viewport that overlaps the layout viewport and that renders at least a part of the portion of content identified by the layout viewport, wherein the visual viewport is moveable and sizable within and independent of the layout viewport; and enable interaction between the visual viewport and the layout viewport, including: rendering the fixed position user interface element on the display based at least on identifying that a size and a position of the visual viewport causes the visual viewport to overlap a portion of the layout viewport containing the fixed position user interface element; subsequent to rendering the fixed position user interface element, detecting a condition in which an overlay user interface is to be displayed; reducing the size of the visual viewport to accommodate a detected size of the overlay user interface; and rendering the overlay user interface instead of the fixed position user interface element, based at least on the reduced the size of the visual viewport causing it to no longer overlap the portion of the layout viewport containing the fixed position user interface element, and based at least on the overlay user interface overlapping the portion of the layout viewport containing the fixed position user interface element. 5. The computer system of claim 1 , wherein movement of the visual viewport also causes the layout viewport to be moved.