- From: Morten Stenshorne <mstensho@opera.com>
- Date: Tue, 15 Jun 2010 08:37:52 +0200
- To: www-style@w3.org
"Tab Atkins Jr." <jackalmage@gmail.com> writes:
> On Mon, Jun 14, 2010 at 5:59 AM, Morten Stenshorne <mstensho@opera.com> wrote:
>> Testcase:
>>
>> <!DOCTYPE html>
>> <html>
>> <body>
>> <p>There should be no scrollbar</p>
>> <div style="display:table; width:1px;">
>> <div style="display:table; table-layout:fixed; width:100%;">
>> <div style="overflow:hidden;">
>> <div style="width:4000px; height:20px;"></div>
>> </div>
>> </div>
>> </div>
>> </body>
>> </html>
>> [...]
>> 1. Is Opera right in letting content C inside a fixed-layout table B
>> affect a shrink-to-fit container or auto-layout table-cell A ancestor
>> of B?
>
> I don't think so. It produces a reverse constraint that I don't think
> is expressed anywhere in CSS.
It's no more reverse than any other shrink-to-fit situation.
What's the difference between:
<div id="elm" style="float:left;">
<div style="width:100%; display:table; table-layout:fixed;">
<div style="width:700px; height:100px;"></div>
</div>
</div>
and:
<div id="elm" style="float:left;">
<div style="width:100%;">
<div style="width:700px; height:100px;"></div>
</div>
</div>
?
I find it strange if 'elm' in the first case should be 0 and 700px in
the second. CSS doesn't define exactly how to treat percentages inside
of a shrink-to-fit (or auto-layout table), but all browsers have
landed on treating percentages as auto as far as propagating width
requirements to a shrink-to-fit (or auto-layout table) ancestor is
concerned.
> In this specific case, CSS seems pretty clear about how the layout
> should work in 17.5.2.1. Fixed table layouts never depend on the
> contents of the cells, but only on the width of the table, the
> columns, and the actual cells of the first row.
Yes, the width of auto-layout tables is directly affected by their
content. Not so for fixed-layout tables. Also not so for regular
blocks. That's how I read the spec.
> In the particular testcase you provided, the fixed table should be
> 1px wide (100% of its parent),
The parent is an auto-layout table. Its 1px width will be overridden
by its MCW; quoting the spec: "the formatted content may span any
number of lines but may not overflow the cell box" - setting the width
to 1px would overflow the cell box.
--
---- Morten Stenshorne, developer, Opera Software ASA ----
---- Office: +47 24164206 ---- Cellular: +47 93440112 ----
------------------ http://www.opera.com/ -----------------
Received on Tuesday, 15 June 2010 06:38:27 UTC