11<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
22<html lang="en">
3- <!-- $Id: visudet.src,v 1.30 1997-12-12 01: 00:09 howcome Exp $ -->
3+ <!-- $Id: visudet.src,v 1.31 1997-12-27 00:32:18 ijacobs Exp $ -->
44<HEAD>
55<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
66<TITLE>Visual rendering model details</TITLE>
@@ -880,9 +880,13 @@ zero.
880880
881881<H3><a name="containing-block">Containing blocks</a></H3>
882882
883- <P>In CSS2, all box positions are calculated with respect to a
884- rectangular box called a <span class="index-def" title="containing
885- block"> <em>containing block</em></span>. The containing block is defined as follows:
883+ <P>In CSS2, all box positions are calculated with respect to the inner
884+ edges of a rectangular box called a <span class="index-def"
885+ title="containing block"><dfn>containing block</dfn></span>. The
886+ default containing block is the box generated for the root element of
887+ the <a href="convent.html#doctree">document tree</a>.
888+
889+ <P>The containing block is defined as follows:
886890
887891<ul>
888892<li> If a box has no parent, then it has no containing block
@@ -898,14 +902,30 @@ that parent
898902of the parent.
899903</ul>
900904
905+ <P>When the containing block is established by a <a
906+ href="flowobj.html#block-level">block-level</a> box, it has the same
907+ width, height, and position as the content and padding area of the
908+ block-level box. When the containing block is established by an <a
909+ href="flowobj.html#inline">inline</a> box, it has the same width,
910+ height, and position as the content and padding area of the first <a
911+ href="#line-box">line box</a> generated by the inline box.
912+
901913<P>For example, for an inline element like EM, the containing block is
902914typically the enclosing paragraph (P). On the other hand, the
903915containing block of a positioned element is the element relative to
904916which it is positioned.
905917
906918<P>Inline elements with 'position: relative' form a special group of
907919containing blocks; they are not block-level elements and -- if they
908- span several lines -- they are not rectangular. [HWL: add figure]
920+ span several lines -- they are not rectangular. The "starting" point
921+ for relative offsets in a containing block established by inline
922+ elements is the top left corner of the first line box for
923+ left-to-right scripts and the top right corner for right-to-left
924+ scripts.
925+
926+ <!-- The secondary direction in CSS2 is top-to-bottom. -->
927+
928+ [HWL: add figure]
909929
910930
911931<H2><a name="scaling">Scaling</a></h2>
@@ -924,11 +944,12 @@ class="propinst-line-height">'line-height'</span> and <span
924944class="propinst-vertical-align">'vertical-align'</span>
925945properties</H2>
926946
927- <P>As described in the section on <a href="flowobj.html#inline">inline
928- layout</a>, user agents flow inline boxes horizontally into a series
929- of line boxes. Each line box is a rectangle whose width is defined by
947+ <P>As described in the section on <a
948+ href="flowobj.html#horizontal-formatting">horizontal formatting
949+ contexts</a>, user agents flow inline boxes horizontally into a series
950+ of <a name="line-box">line boxes</a>. Each line box is a rectangle whose width is defined by
930951the first enclosing block element (see the section on <a
931- href="flowobj2.html#box-width">box width calculations</a>)
952+ href="flowobj2.html#box-width">box width calculations</a>)
932953
933954<P>The line box height is determined as follows. All elements have the
934955<span class="propinst-line-height">'line-height'</span> property,
0 commit comments