- 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