Closed Bug 288937 Opened 20 years ago Closed 20 years ago

position:relative containers don't redraw after horizontal scrolling

Categories

(Core :: Layout, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: pop2.bugzilla, Unassigned)

Details

(Keywords: testcase)

Attachments

(4 files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050317 Firefox/1.0.2

I have a red container which is positioned relative without a width or
width:100%. In that container is another absolute positioned container with a
width:2000px.
Now when you scroll horizontally, you'll see that the red container isn't
redrawn until the the right end. But when you resize the window width, the red
container is redrawn.

Reproducible: Always

Steps to Reproduce:
Attached file Example
Assignee: firefox → nobody
Component: General → Layout
Keywords: testcase
Product: Firefox → Core
QA Contact: general → layout
Version: unspecified → 1.0 Branch
Severity: major → trivial
Status: UNCONFIRMED → NEW
Ever confirmed: true
Version: 1.0 Branch → Trunk
I confirm getting this with Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.8b2) Gecko/20050403 Firefox/1.0+
Maybe not major but everything else than trivial. every page which contains
relative containers and are wider than the screen can't be seen. It's much more
complex than my example when you try it with containers in containers.
Severity: trivial → normal
Attached file Complex example
This is a more complex example. Resize your window to 200px and then scroll
right. The whole content is lost.
Attached file Example with borders
Obviously relative positioned width=100% containers get a fixed size when they
are drawn instead of setting them to the window width.
Works for me on Linux. Windows only?
This looks invalid to me.  The content "disappears" in the "complex example"
because it overflows the overflow:hidden div.  In the other examples, everything
looks the way it should.  This is with a current trunk build on Windows.

Hish, please make sure to test a current trunk build; if there is still a
problem please describe it clearly...  Post screenshots if needed.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → WORKSFORME
I scrolled a bit to the right (A)
The red container (B) is smaller than the yellow container (C) although B has a
width of 100%. Because C has a width of 2000px and starting at 100px from the
left, 100% should be 2100px. But 100% is interpreted as the width of the
current window.
> The red container (B) is smaller than the yellow container (C)

That's correct.

> Because C has a width of 2000px and starting at 100px from the
> left, 100% should be 2100px. But 100% is interpreted as the width of the
> current window.

100% is 100% of the containing block of the red container, which is the <body>.
 Put a border on the <body> to see that this is exactly what we're doing.

NOw the <body> has width:auto, so it's just the width of its containing block
(<html>), which is the width of the initial containing block (the viewport).

I suggest some reading of chapter 10 of the CSS 2.1 specification for further
details on width calculations.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: