1. A method of scrolling an electronic document including multiple columns of text, which is displayed on a computing device, the method comprising: utilizing at least one processor in the computing device to perform the following: process user input received via an input device; detect an initiating event and pointer movement for a drag operation from the processed user input; scroll textual content in the document according to the pointer movement of the drag operation; analyze semantic constructs in the underlying markup language code to identify which of the multiple columns of text is being viewed and scrolled by the user; calculate a border width for the identified column of text, and apply a border of the calculated width on the left and/or right side of the identified column of text; determine whether the scrolling of the textual content caused at least part of the applied left or right side border of the identified column of text to exit a viewport of a display screen of the electronic device; decrease a horizontal speed of the scrolling of the textual content, which is performed in accordance with the pointer movement, when an edge of the applied left or right side border of the identified column of text exits the viewport; and after the decrease to the horizontal speed is applied to the scrolling of the textual content, detect the horizontal component of the scrolling of the textual content as a distance in a horizontal direction; and determine whether the distance is within a correction threshold, wherein the automatic re-scrolling is performed in response to a determination that the distance is less than the correction threshold, wherein the drag operation is part of a series of one or more drag operations detected by the at least one processor from the processed user input, wherein the at least one processor decreases the horizontal speed of the scrolling of the textual content by: determining a total vertical distance and a total horizontal distance scrolled since the initiating event of the first drag operation the series; and analyzing the total vertical and horizontal distances, and wherein, in decreasing the horizontal speed of the scrolling of the textual content, the at least one processor further: calculates a factor by which the horizontal speed of the scrolling of the textual content is to be decreased, such that the factor is calculated as a first preset value when the determined total horizontal distance exceeds the determined total vertical distance, and the factor is calculated as a second preset value when the determined total vertical distance exceeds the total horizontal distance, the second preset value being greater than the first preset value; and while continuing to scroll the textual content, scales down the horizontal speed of the scrolling according to the pointer movement of the current drag operation by the calculated factor.