Open Bug 448919 Opened 16 years ago Updated 9 months ago

Ability to show text paragraphs in two columns

Categories

(Core :: Layout, enhancement)

x86
Windows XP
enhancement

Tracking

()

UNCONFIRMED

People

(Reporter: styxguardian, Unassigned)

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.16) Gecko/20080702 Firefox/2.0.0.16
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.16) Gecko/20080702 Firefox/2.0.0.16

Especially for todays wide screens it would be useful for text-intensive web pages to be split into two columns, shown side-by-side.
I see the problems here, because W3C standards are simply not designed to be displayed this way, but I'm lacking this feature for years and hope Mozilla to come up with this innovation first.
Some thoughts:
 * Choice between complete two-column page display or in-paragraph only (keeping headlines <h2>headline</h2> stretched over the complete line
 * Scrolling behaviour: The two columns must always break at the current display borders, so if I scroll less than a page, contents from the right column need to scroll "up" to the left column, otherwise I could simply design a webpage with two columns (that go way down out of the visible screen area).
 * problems with absolute positioning must be resolved relatively to current column
 * and presumably many more

Thanks for thinking this through!

Reproducible: Didn't try
Web pages can already do this using -moz-column-*.  See http://weblogs.mozillazine.org/roc/ for an example and http://www.w3.org/TR/css3-multicol/ for the specification we're trying to converge with.

I don't think CSS3 columns are aware of the content area height.  Your idea (where attempting to scroll the page instead moves text between columns, or shifts columns over) sounds a little crazy; I think it would make more sense to ask the browser to wrap the columns themselves, similarly to how a magazine article might have a new set of columns on the next page, but with the "next page" being directly below.  http://iht.com/ has yet another idea about how to avoid the problem of columns taller than the screen.

If you try to accomplish this using a user stylesheet, I think you'll find that it's tough to invent a heuristic for which elements to paginate within.  Paragraphs are too small, and anything that contains a header is too large.  Using the "test styles" bookmarklet on http://www.squarefree.com/, I decided that the <div class="entry"> elements were the best level at which to paginate.  The rule

.entry { -moz-column-count: 2; -moz-column-gap: 4ch; }

mostly worked well, but it made images ugly.  In HTML5, you could detect <section> elements.  In HTML4, I guess you could fake it by pretending each group of paragraphs between <Hn> elements form a section.
Thanx for the interesting and quick reply!

The CSS solution is not bad and partially solves the problem at least on the server side, but this is where my "crazy" idea comes into play: The two columns may be larger than one screen height and lead to scrolling down, then up again, which I wanted to avoid. I'd like to read the two columns first, and then scroll them "down" (page down scrolls two columns "up", line down scrolls parts of second column to first column and so on, which admittedly may be strange to use for some people).

Concerning the CSS solution, I was rather thinking from a strictly user-centered view of a general setting on the client side browser "show website in two-column mode", and the browser engine would figure out how to layout the original website's contents best in two columns, especially in those cases, where the website was not primarily designed to be shown this way (similar to as most websites aren't optimized for small devices either).

I don't think a pure CSS solution would be enough here, but I also know this would be a large effort and would necessitate rewriting big parts of the browser engine.
I just want to make sure you know that there are really people wanting this feature, so keep it on your list for future features :-D
This is a mass search for bugs which are in the Firefox General component, are
UNCO, have not been changed for 500 days and have an unspecified version. 

Reporter, can you please update to Firefox 3.6.10 or later, create a fresh profile, http://support.mozilla.com/en-US/kb/managing+profiles, and test again. If you still see the issue, please update this bug. If the issue is gone, please set the status to RESOLVED > WORKSFORME.
Whiteboard: [CLOSEME 2010-11-01]
Whiteboard: [CLOSEME 2010-11-01]
Severity: normal → S3
Severity: S3 → --
Component: General → Layout
Product: Firefox → Core
You need to log in before you can comment on or make changes to this bug.