layer at (0,0) size 785x1299
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1299
  RenderBlock {HTML} at (0,0) size 785x1299
    RenderBody {BODY} at (8,8) size 769x1283 [bgcolor=#FFFFFF]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 465x17
          text run at (0,0) width 465: "This is a simple example of table height problems with only a single table."
      RenderBlock {P} at (0,34) size 769x54
        RenderText {#text} at (0,0) size 763x53
          text run at (0,0) width 481: "The indention here is to specify a table with two rows. The table has a fixed "
          text run at (481,0) width 278: "overall width (200 for the example) and two"
          text run at (0,18) width 240: "rows. The first row 'just high enough' "
          text run at (240,18) width 448: "for a title line, and the second contains the rest. Creating such a table is "
          text run at (688,18) width 75: "hamperd by"
          text run at (0,36) width 110: "a number of bugs"
      RenderBlock {OL} at (0,104) size 769x72
        RenderListItem {LI} at (40,0) size 729x18
          RenderListMarker at (-20,0) size 16x17: "1"
          RenderText {#text} at (0,0) size 456x17
            text run at (0,0) width 456: "If a height is specified for only one row (not both) then it will be ignored"
        RenderListItem {LI} at (40,18) size 729x18
          RenderListMarker at (-20,0) size 16x17: "2"
          RenderText {#text} at (0,0) size 669x17
            text run at (0,0) width 430: "If specified heights are insufficient (because the content is too large) "
            text run at (429,0) width 240: "then the entire table will be expanded."
        RenderListItem {LI} at (40,36) size 729x36
          RenderListMarker at (-20,0) size 16x17: "3"
          RenderText {#text} at (0,0) size 720x35
            text run at (0,0) width 459: "Percentage heights appear to simply be translated into pixel heights prior "
            text run at (459,0) width 261: "to other processing, so offer no additional"
            text run at (0,18) width 56: "solutions"
      RenderBlock {P} at (0,192) size 769x18
        RenderText {#text} at (0,0) size 506x17
          text run at (0,0) width 469: "This following table ought to give the desired results (small title line, large "
          text run at (468,0) width 38: "body)"
      RenderBlock {P} at (0,226) size 769x18
        RenderText {#text} at (0,0) size 111x17
          text run at (0,0) width 111: "It is specifiable as"
      RenderBlock {BLOCKQUOTE} at (40,260) size 689x54
        RenderBlock {P} at (0,0) size 689x54
          RenderText {#text} at (0,0) size 110x17
            text run at (0,0) width 110: "Table height: 200"
          RenderBR {BR} at (109,0) size 1x17
          RenderText {#text} at (0,18) size 129x17
            text run at (0,18) width 129: "First Row : 1 or 1% "
          RenderInline {I} at (0,0) size 216x17
            RenderText {#text} at (129,18) size 216x17
              text run at (129,18) width 216: "(i.e. expand to minimum required)"
          RenderBR {BR} at (344,18) size 1x17
          RenderText {#text} at (0,36) size 170x17
            text run at (0,36) width 170: "Second Row : unspecified "
          RenderInline {I} at (0,0) size 306x17
            RenderText {#text} at (170,36) size 306x17
              text run at (170,36) width 306: "(i.e. table height - height of other rows+borders)"
          RenderText {#text} at (0,0) size 0x0
      RenderTable {TABLE} at (0,330) size 88x200 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 86x198
          RenderTableRow {TR} at (0,2) size 86x22
            RenderTableCell {TD} at (2,2) size 82x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (2,2) size 50x17
                text run at (2,2) width 50: "title line"
          RenderTableRow {TR} at (0,26) size 86x170
            RenderTableCell {TD} at (2,100) size 82x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (2,2) size 78x17
                text run at (2,2) width 78: "rest of space"
      RenderBlock {P} at (0,546) size 769x18
        RenderText {#text} at (0,0) size 303x17
          text run at (0,0) width 303: "This doesn't work because of the 1st bug above."
      RenderBlock {P} at (0,580) size 769x18
        RenderText {#text} at (0,0) size 406x17
          text run at (0,0) width 406: "A second attempt is to specify heights that do add up to the total."
      RenderBlock {P} at (0,614) size 769x54
        RenderText {#text} at (0,0) size 110x17
          text run at (0,0) width 110: "Table height: 200"
        RenderBR {BR} at (109,0) size 1x17
        RenderText {#text} at (0,18) size 83x17
          text run at (0,18) width 83: "First Row : 1"
        RenderBR {BR} at (83,18) size 0x17
        RenderText {#text} at (0,36) size 118x17
          text run at (0,36) width 118: "Second Row : 199"
      RenderTable {TABLE} at (0,684) size 88x229 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 86x227
          RenderTableRow {TR} at (0,2) size 86x22
            RenderTableCell {TD} at (2,2) size 82x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (2,2) size 50x17
                text run at (2,2) width 50: "title line"
          RenderTableRow {TR} at (0,26) size 86x199
            RenderTableCell {TD} at (2,114) size 82x23 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (2,1) size 78x19
                text run at (2,2) width 78: "rest of space"
      RenderBlock {P} at (0,929) size 769x18
        RenderText {#text} at (0,0) size 605x17
          text run at (0,0) width 469: "This appears ok, but close inspection will show that the table is now >200 "
          text run at (469,0) width 136: "pixels high (2rd bug)."
      RenderBlock {P} at (0,963) size 769x18
        RenderText {#text} at (0,0) size 423x17
          text run at (0,0) width 423: "A third attempt using 1% and 99% gives identical results (3rd bug)."
      RenderBlock {P} at (0,997) size 769x18
        RenderText {#text} at (0,0) size 628x17
          text run at (0,0) width 437: "A related bug is the the height of a row that is not specified explicitly "
          text run at (436,0) width 192: "cannot be used by its children."
      RenderBlock {P} at (0,1031) size 769x36
        RenderText {#text} at (0,0) size 709x35
          text run at (0,0) width 489: "This example is a table of height 200 with a single row of unspecified height. "
          text run at (489,0) width 220: "This contains a DIV whose style is"
          text run at (0,18) width 240: "height:100%. It ought to fill the entire "
          text run at (240,18) width 34: "table."
      RenderTable {TABLE} at (0,1083) size 304x200 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 302x198
          RenderTableRow {TR} at (0,2) size 302x194
            RenderTableCell {TD} at (2,2) size 298x194 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderBlock {DIV} at (2,2) size 294x190 [bgcolor=#FF0000]
                RenderText {#text} at (0,0) size 294x17
                  text run at (0,0) width 294: "A 100% div inside a row of unspecified height"
