Closed Bug 224309 Opened 21 years ago Closed 19 years ago

border-collapse:collapse tables limit border widths to 63 pixels

Categories

(Core :: Layout: Tables, defect)

x86
Windows 2000
defect
Not set
major

Tracking

()

RESOLVED FIXED
mozilla1.8beta2

People

(Reporter: ultimate_hamlet, Assigned: dbaron)

References

(Depends on 1 open bug)

Details

(Keywords: css2)

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20031007 Firebird/0.7
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20031007 Firebird/0.7

When using large table border definitions in my CSS sheet, any border greater
than 63 pixels will disappear. As the border is not visible, it still seems that
HTML elements are 'pushed in' by the appropriate amount, however, once you start
using really large borders (100s or thousands of pixels) behavior becomes
erratic and unpredictable.

Reproducible: Always

Steps to Reproduce:
1.Open/save the attached file
2.View in browser
3.Experiment with changing the CSS table border value to see different results

Actual Results:  
Table border stopped rendering after width was made greater than 63 pixels. Very
large borders rendered erratically.

Expected Results:  
Mozilla should have renedered the appropriate border visibly with the specified
width on the left, right, top and bottom edges of the table.

See following attachment HTML and images.
This HTML defines a table with 64 pixel width. Turning the border to 63
'switches' the solid black border on (as a side note, using a 63 pixel or other
sizeable border may cause black lines to appear inside of the table when
scrolling via keyboard or mouse. This error is already defined in bug 111176
and should be ignored for this test case).
The problem is that the BCData struct (which stores sizes of borders in
border-collapse mode) only allocates 6 bits for storing the width (in px).  So
for borders larger than 63px, the data type overflows and things break.

This struct should probably be converted to not be so bitfield-happy....
Summary: Large borders do not render → Large borders do not render
Severity: normal → major
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: Large borders do not render → border-collapse:collapse tables limit border widths to 63 pixels
I discussed that with Chris when he introduced this limit, we couldnt spot a
single case where real pages use borders larger then 63 pix. Changing the bc
code to have table cell based painting would lift the limitations.
I'm sure it's currently a rarity to have a border greater than 63px, but as
CSS-based layouts become more common I think you'll find that it will come up in
design more.
Depends on: 203686
*** Bug 254554 has been marked as a duplicate of this bug. ***
Assignee: layout.tables → dbaron
Fixed by checkin of bug 286794.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.8beta2
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: