- From: Simon Sapin <simon.sapin@kozea.fr>
- Date: Fri, 27 Jan 2012 21:41:19 +0100
- To: www-style@w3.org
Le 27/01/2012 18:02, Øyvind Stenhaug a écrit : > First of all, the term "specified explicitly" seems nonsensical. All > elements have a specified value. On the other hand, the containing block > isn't an element, and isn't necessarily even related to one. So the > parentheses actually contain the crucial part here (and readers must > figure out for themselves how exactly to determine whether the containing > block depends on content height). > > Now, the main issue: even if assuming the simple case where the containing > block corresponds to some particular dimensions of an ancestor block > element's sole box, exactly which value does "the height" refer to? > > - The so-called tentative used height? ("Depends on content height" in the > example) > - The used value? (Does not "depend on content height" in the example) > (- Something else?) Hi, I agree this should be more explicit, but I think it is the computed value. A computed value of 'auto' is the only case where the used height depends on the content: According to 10.1, a containing block is one of : 1. The viewport 2. A page area 3. The content edge or padding edge of a block container 4. The bounding box around the padding boxes of ... something. I’m not sure how exactly that one works. (Can an inline element generate more than one inline-level boxes while *not* being split across lines?) 1 and 2 always have a fixed height. I’m not sure about 4, but for 3 it depends on the 'height' property. The height is "specified explicitly" if and only if the 'height' property dos not compute to 'auto'. Note that all this happens at computed-value time, so if this box itself becomes a containing block its own invalid percentage value will already have computed to 'auto'. Back to the initial issue: I was bitten by this just a few days ago. At the time I did not understand why "html, body { min-width: 100% }" did not render as I expected. After reading this thread I see that, to make "html>body>#foo" at least as tall as the viewport, authors should use: html, body { height: 100%; margin: 0 } /* these are "specified explicitly" to the viewport height */ #foo { min-height: 100% } /* this one may overflow its ancestors */ Regards, -- Simon Sapin
Received on Friday, 27 January 2012 20:42:12 UTC