layer at (0,0) size 785x6353
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x6353
  RenderBlock {HTML} at (0,0) size 785x6353
    RenderBody {BODY} at (8,8) size 769x6337 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 363x18
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x135
        RenderText {#text} at (0,0) size 469x135
          text run at (0,0) width 266: "HR.minor {clear: both; width: 5%;}"
          text run at (0,15) width 391: "HR.major {clear: both; width: 75%; margin: 1.5em;}"
          text run at (0,30) width 469: "DIV {border: 5px solid purple; padding: 0; margin: 0.125em;}"
          text run at (0,45) width 422: "P.left, P.right {width: 10em; padding: 1em; margin: 0;"
          text run at (0,60) width 414: "   border: 1px solid lime; background-color: silver;}"
          text run at (0,75) width 445: "IMG.left, IMG.right {margin: 0; border: 3px solid black;}"
          text run at (0,90) width 157: ".left {float: left;}"
          text run at (0,105) width 172: ".right {float: right;}"
          text run at (0,120) width 0: " "
      RenderBlock {HR} at (0,182) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,200) size 769x54
        RenderText {#text} at (0,0) size 762x54
          text run at (0,0) width 694: "On this test page, each test is performed once with floating paragraphs, and then again with floating images. "
          text run at (693,0) width 69: "Other than"
          text run at (0,18) width 728: "the substitution of images for pargraphs, the structure of the test is exactly the same, including the direction of the"
          text run at (0,36) width 39: "floats."
      RenderBlock {HR} at (24,278) size 579x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,304) size 765x100 [border: (5px solid #800080)]
        RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 134x54
            text run at (17,17) width 134: "This is a left-floating"
            text run at (17,35) width 115: "paragraph (first in"
            text run at (17,53) width 52: "source)."
        RenderBlock (floating) {P} at (566,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 143x54
            text run at (17,17) width 143: "This is a right-floating"
            text run at (17,35) width 135: "paragraph (second in"
            text run at (17,53) width 52: "source)."
        RenderText {#text} at (199,5) size 362x90
          text run at (199,5) width 178: "This is text within the DIV. "
          text run at (376,5) width 185: "The floating elements within"
          text run at (199,23) width 336: "this DIV should not go beyond the left or right inner"
          text run at (199,41) width 342: "edge of this DIV, which means that the borders of the"
          text run at (199,59) width 328: "floating elements should not overlap the top or side"
          text run at (199,77) width 124: "borders of the DIV."
      RenderBlock {HR} at (364,412) size 41x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,422) size 765x64 [border: (5px solid #800080)]
        RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
        RenderImage {IMG} at (745,5) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (20,5) size 738x54
          text run at (20,5) width 178: "This is text within the DIV. "
          text run at (197,5) width 546: "The floating images within this DIV should not go beyond the left or right inner edge"
          text run at (20,23) width 721: "of this DIV, which means that the borders of the floating images should not overlap the top or side borders of the"
          text run at (5,41) width 31: "DIV."
      RenderBlock {HR} at (24,510) size 579x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,536) size 442x226 [border: (5px solid #800080)]
        RenderBlock (floating) {P} at (5,5) size 194x70 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 127x36
            text run at (17,17) width 127: "This is the first left-"
            text run at (17,35) width 121: "floating paragraph."
        RenderBlock (floating) {P} at (199,5) size 194x70 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 146x36
            text run at (17,17) width 146: "This is the second left-"
            text run at (17,35) width 121: "floating paragraph."
        RenderBlock (floating) {P} at (5,75) size 194x70 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 132x36
            text run at (17,17) width 132: "This is the third left-"
            text run at (17,35) width 121: "floating paragraph."
        RenderText {#text} at (393,5) size 432x216
          text run at (393,5) width 44: "This is"
          text run at (393,23) width 24: "text"
          text run at (393,41) width 41: "within"
          text run at (393,59) width 20: "the"
          text run at (199,77) width 35: "DIV. "
          text run at (233,77) width 184: "The floating elements within"
          text run at (199,95) width 222: "this DIV should not go beyond the"
          text run at (199,113) width 223: "left or right inner edge of this DIV,"
          text run at (199,131) width 229: "which means that the borders of the"
          text run at (5,149) width 421: "floating elements should not overlap the top or side borders of the"
          text run at (5,167) width 110: "DIV in any way. "
          text run at (114,167) width 303: "In addition, they should not overlap each other."
          text run at (5,185) width 432: "The first two should be side by side, whereas the third should be on"
          text run at (5,203) width 97: "the next \"line.\""
      RenderBlock {HR} at (364,770) size 41x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,780) size 360x208 [border: (5px solid #800080)]
        RenderImage {IMG} at (5,5) size 156x36 [border: (3px solid #000000)]
        RenderImage {IMG} at (161,5) size 156x36 [border: (3px solid #000000)]
        RenderImage {IMG} at (5,41) size 156x36 [border: (3px solid #000000)]
        RenderText {#text} at (317,5) size 344x198
          text run at (317,5) width 29: "This"
          text run at (317,23) width 11: "is"
          text run at (161,41) width 131: "text within the DIV. "
          text run at (291,41) width 26: "The"
          text run at (161,59) width 171: "floating images within this"
          text run at (5,77) width 342: "DIV should not go beyond the left or right inner edge"
          text run at (5,95) width 308: "of this DIV, which means that the borders of the"
          text run at (5,113) width 317: "floating images should not overlap the top or side"
          text run at (5,131) width 203: "borders of the DIV in any way. "
          text run at (207,131) width 106: "In addition, they"
          text run at (5,149) width 197: "should not overlap each other. "
          text run at (201,149) width 148: "The first two should be"
          text run at (5,167) width 335: "side by side, whereas the third should be on the next"
          text run at (5,185) width 42: "\"line.\""
      RenderBlock {HR} at (24,1012) size 579x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,1038) size 314x350 [border: (5px solid #800080)]
        RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 134x54
            text run at (17,17) width 134: "This is a left-floating"
            text run at (17,35) width 115: "paragraph (first in"
            text run at (17,53) width 52: "source)."
        RenderBlock (floating) {P} at (115,93) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 143x54
            text run at (17,17) width 143: "This is a right-floating"
            text run at (17,35) width 135: "paragraph (second in"
            text run at (17,53) width 52: "source)."
        RenderText {#text} at (199,5) size 301x340
          text run at (199,5) width 72: "This is text"
          text run at (199,23) width 99: "within the DIV."
          text run at (199,41) width 78: "The floating"
          text run at (199,59) width 102: "elements within"
          text run at (5,93) width 103: "this DIV should"
          text run at (5,111) width 92: "not go beyond"
          text run at (5,129) width 97: "the left or right"
          text run at (5,147) width 85: "inner edge of"
          text run at (5,165) width 101: "this DIV, which"
          text run at (5,183) width 300: "means that the borders of the floating elements"
          text run at (5,201) width 284: "should not overlap the top or side borders of"
          text run at (5,219) width 133: "the DIV in any way. "
          text run at (137,219) width 153: "In addition, they should"
          text run at (5,237) width 292: "not overlap each other in any way, nor should"
          text run at (5,255) width 301: "the floated elements be overwritten by the DIV"
          text run at (5,273) width 32: "text. "
          text run at (36,273) width 254: "In addition, the floated elements should"
          text run at (5,291) width 299: "not be side-by-side, but instead the first should"
          text run at (5,309) width 279: "be floated left, and the second floated to the"
          text run at (5,327) width 130: "right below the first."
      RenderBlock {HR} at (364,1396) size 41x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,1406) size 410x226 [border: (5px solid #800080)]
        RenderImage {IMG} at (5,5) size 256x36 [border: (3px solid #000000)]
        RenderImage {IMG} at (149,41) size 256x36 [border: (3px solid #000000)]
        RenderText {#text} at (261,5) size 396x216
          text run at (261,5) width 140: "This is text within the"
          text run at (261,23) width 35: "DIV. "
          text run at (295,23) width 79: "The floating"
          text run at (5,41) width 118: "images within this"
          text run at (5,59) width 120: "DIV should not go"
          text run at (5,77) width 386: "beyond the left or right inner edge of this DIV, which means"
          text run at (5,95) width 390: "that the borders of the floating images should not overlap the"
          text run at (5,113) width 274: "top or side borders of the DIV in any way. "
          text run at (278,113) width 107: "In addition, they"
          text run at (5,131) width 362: "should not overlap each other in any way, nor should the"
          text run at (5,149) width 313: "floated elements be overwritten by the DIV text. "
          text run at (317,149) width 75: "In addition,"
          text run at (5,167) width 391: "the floated images should not be side-by-side, but instead the"
          text run at (5,185) width 389: "first should be floated left, and the second floated to the right"
          text run at (5,203) width 96: "below the first."
      RenderBlock {HR} at (24,1656) size 579x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,1682) size 765x118 [border: (5px solid #800080)]
        RenderBlock (floating) {P} at (566,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 143x54
            text run at (17,17) width 143: "This is a right-floating"
            text run at (17,35) width 115: "paragraph (first in"
            text run at (17,53) width 52: "source)."
        RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 135x54
            text run at (17,17) width 134: "This is a left-floating"
            text run at (17,35) width 135: "paragraph (second in"
            text run at (17,53) width 52: "source)."
        RenderText {#text} at (199,5) size 556x108
          text run at (199,5) width 178: "This is text within the DIV. "
          text run at (376,5) width 185: "The floating elements within"
          text run at (199,23) width 355: "this DIV should not go beyond the top side of this DIV,"
          text run at (199,41) width 343: "which means that the borders of the floating elements"
          text run at (199,59) width 356: "should not overlap the top or side borders of the DIV in"
          text run at (199,77) width 61: "any way. "
          text run at (259,77) width 271: "In addition, the top of the left-floating box"
          text run at (5,95) width 372: "should not be higher than the top of the right-floating box."
      RenderBlock {HR} at (364,1808) size 41x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,1818) size 765x64 [border: (5px solid #800080)]
        RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
        RenderImage {IMG} at (745,5) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (20,5) size 733x54
          text run at (20,5) width 178: "This is text within the DIV. "
          text run at (197,5) width 531: "The floating images within this DIV should not go beyond the top side of this DIV,"
          text run at (20,23) width 718: "which means that the borders of the floating images should not overlap the top or side borders of the DIV in any"
          text run at (5,41) width 34: "way. "
          text run at (38,41) width 677: "In addition, the top of the left-floating image should not be higher than the top of the right-floating image."
      RenderBlock {HR} at (24,1906) size 579x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,1932) size 765x136 [border: (5px solid #800080)]
        RenderText {#text} at (199,5) size 186x18
          text run at (199,5) width 178: "This is text within the DIV. "
          text run at (376,5) width 9: "*"
        RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 134x54
            text run at (17,17) width 134: "This is a left-floating"
            text run at (17,35) width 115: "paragraph (first in"
            text run at (17,53) width 52: "source)."
        RenderText {#text} at (384,5) size 551x36
          text run at (384,5) width 366: " The floating elements within this DIV should not go any"
          text run at (199,23) width 487: "higher than the line-box containing the inline content which precedes them. "
          text run at (685,23) width 13: "* "
        RenderBlock (floating) {P} at (566,41) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 143x54
            text run at (17,17) width 143: "This is a right-floating"
            text run at (17,35) width 135: "paragraph (second in"
            text run at (17,53) width 52: "source)."
        RenderText {#text} at (697,23) size 722x108
          text run at (697,23) width 30: "This"
          text run at (199,41) width 352: "means that the top side of each float can be, at most, as"
          text run at (199,59) width 360: "high as the top edge of the inline element containing the"
          text run at (199,77) width 336: "content just before the floating elements occur in the"
          text run at (5,95) width 50: "source. "
          text run at (54,95) width 494: "In order to mark these points clearly, an asterisk has been inserted just before"
          text run at (5,113) width 136: "each floated element."
      RenderBlock {HR} at (364,2076) size 41x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,2086) size 765x82 [border: (5px solid #800080)]
        RenderText {#text} at (20,5) size 186x18
          text run at (20,5) width 178: "This is text within the DIV. "
          text run at (197,5) width 9: "*"
        RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (205,5) size 697x36
          text run at (205,5) width 512: " The floating images within this DIV should not go any higher than the line-box"
          text run at (20,23) width 330: "containing the inline content which precedes them. "
          text run at (349,23) width 13: "* "
        RenderImage {IMG} at (745,23) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (361,23) size 723x54
          text run at (361,23) width 367: "This means that the top side of each float can be, at most,"
          text run at (5,41) width 705: "as high as the top edge of the inline element containing the content just before the floating images occur in the"
          text run at (5,59) width 50: "source. "
          text run at (54,59) width 622: "In order to mark these points clearly, an asterisk has been inserted just before each floated image."
      RenderBlock {HR} at (24,2192) size 579x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,2218) size 765x262 [border: (5px solid #800080)]
        RenderText {#text} at (199,5) size 186x18
          text run at (199,5) width 178: "This is text within the DIV. "
          text run at (376,5) width 9: "*"
        RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 134x54
            text run at (17,17) width 134: "This is a left-floating"
            text run at (17,35) width 115: "paragraph (first in"
            text run at (17,53) width 52: "source)."
        RenderText {#text} at (384,5) size 551x36
          text run at (384,5) width 366: " The floating elements within this DIV should not go any"
          text run at (199,23) width 487: "higher than the line-box containing the inline content which precedes them. "
          text run at (685,23) width 13: "* "
        RenderBlock (floating) {P} at (566,41) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 143x54
            text run at (17,17) width 143: "This is a right-floating"
            text run at (17,35) width 135: "paragraph (second in"
            text run at (17,53) width 52: "source)."
        RenderText {#text} at (697,23) size 528x36
          text run at (697,23) width 30: "This"
          text run at (199,41) width 288: "means that the top side of each float can be,*"
        RenderBlock (floating) {P} at (199,59) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 134x54
            text run at (17,17) width 134: "This is a left-floating"
            text run at (17,35) width 120: "paragraph (third in"
            text run at (17,53) width 52: "source)."
        RenderText {#text} at (486,41) size 276x108
          text run at (486,41) width 73: " at most, as"
          text run at (393,59) width 169: "high as the top edge of the"
          text run at (393,77) width 163: "inline element containing"
          text run at (393,95) width 167: "the content just before the"
          text run at (393,113) width 166: "floating elements occur in"
          text run at (587,131) width 74: "the source. "
          text run at (660,131) width 9: "*"
        RenderBlock (floating) {P} at (393,131) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 134x54
            text run at (17,17) width 134: "This is a left-floating"
            text run at (17,35) width 129: "paragraph (fourth in"
            text run at (17,53) width 52: "source)."
        RenderText {#text} at (668,131) size 746x126
          text run at (668,131) width 72: " In order to"
          text run at (587,149) width 164: "mark these points clearly,"
          text run at (587,167) width 128: "an asterisk has been"
          text run at (587,185) width 156: "inserted just before each"
          text run at (587,203) width 107: "floated element. "
          text run at (693,203) width 50: "If a line"
          text run at (5,221) width 739: "has room for a floated element, then the element should float so that its top is aligned with the top of the line-box in"
          text run at (5,239) width 177: "which the asterisk appears. "
          text run at (181,239) width 411: "Otherwise, its top should align with the top of the next line-box."
      RenderBlock {HR} at (364,2488) size 41x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,2498) size 765x118 [border: (5px solid #800080)]
        RenderText {#text} at (20,5) size 186x18
          text run at (20,5) width 178: "This is text within the DIV. "
          text run at (197,5) width 9: "*"
        RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (205,5) size 682x36
          text run at (205,5) width 512: " The floating images within this DIV should not go any higher than the line-box"
          text run at (35,23) width 330: "containing the inline content which precedes them. "
          text run at (364,23) width 13: "* "
        RenderImage {IMG} at (745,23) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (376,23) size 325x18
          text run at (376,23) width 317: "This means that the top side of each float can be, "
          text run at (692,23) width 9: "*"
        RenderImage {IMG} at (20,23) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (700,23) size 719x54
          text run at (700,23) width 16: " at"
          text run at (35,41) width 704: "most, as high as the top edge of the inline element containing the content just before the floating images occur"
          text run at (20,59) width 90: "in the source. "
          text run at (109,59) width 9: "*"
        RenderImage {IMG} at (5,59) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (117,59) size 754x54
          text run at (117,59) width 630: " In order to mark these points clearly, an asterisk has been inserted just before each floated image. "
          text run at (746,59) width 12: "If"
          text run at (20,77) width 739: "a line has room for a floated image, then the image should float so that its top is aligned with the top of the line-box"
          text run at (5,95) width 193: "in which the asterisk appears. "
          text run at (197,95) width 411: "Otherwise, its top should align with the top of the next line-box."
      RenderBlock {HR} at (24,2640) size 579x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,2666) size 490x298 [border: (5px solid #800080)]
        RenderText {#text} at (199,5) size 56x18
          text run at (199,5) width 56: "This is *"
        RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 134x54
            text run at (17,17) width 134: "This is a left-floating"
            text run at (17,35) width 115: "paragraph (first in"
            text run at (17,53) width 52: "source)."
        RenderText {#text} at (254,5) size 13x18
          text run at (254,5) width 13: " *"
        RenderBlock (floating) {P} at (291,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 143x54
            text run at (17,17) width 143: "This is a right-floating"
            text run at (17,35) width 135: "paragraph (second in"
            text run at (17,53) width 52: "source)."
        RenderText {#text} at (199,23) size 479x270
          text run at (199,23) width 69: "text within"
          text run at (199,41) width 54: "the DIV."
          text run at (199,59) width 85: "Under CSS1,"
          text run at (199,77) width 45: "the left"
          text run at (5,95) width 469: "floating element should be placed in the upper left corner of the DIV, and"
          text run at (5,113) width 465: "the purple border of the DIV should abut the green border of the floating"
          text run at (5,131) width 59: "element. "
          text run at (63,131) width 421: "Similarly, the right floating element should be placed in the upper"
          text run at (5,149) width 467: "right corner of the DIV, and the purple border of the DIV should abut the"
          text run at (5,167) width 465: "green border of the floating element. The text of the DIV element should"
          text run at (5,185) width 433: "flow between and under the two floating elements. The two asterisk"
          text run at (5,203) width 477: "characters mark the insertion points of the floating elements. It is expected"
          text run at (5,221) width 477: "that, under future specifications, it may be acceptable for the top of floated"
          text run at (5,239) width 475: "elements to align with the top of the line-box following the insertion point"
          text run at (5,257) width 449: "of the floated element to avoid floating elements appearing before text"
          text run at (5,275) width 269: "which precedes it in the source document."
      RenderBlock {HR} at (364,2972) size 41x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,2982) size 490x226 [border: (5px solid #800080)]
        RenderText {#text} at (20,5) size 56x18
          text run at (20,5) width 56: "This is *"
        RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (75,5) size 13x18
          text run at (75,5) width 13: " *"
        RenderImage {IMG} at (470,5) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (87,5) size 472x216
          text run at (87,5) width 135: " text within the DIV. "
          text run at (221,5) width 231: "Under CSS1, the left floating image"
          text run at (20,23) width 429: "should be placed in the upper left corner of the DIV, and the purple"
          text run at (5,41) width 443: "border of the DIV should abut the green border of the floating image."
          text run at (5,59) width 443: "Similarly, the right floating image should be placed in the upper right"
          text run at (5,77) width 472: "corner of the DIV, and the purple border of the DIV should abut the green"
          text run at (5,95) width 447: "border of the floating image. The text of the DIV element should flow"
          text run at (5,113) width 451: "between and under the two floating image. The two asterisk characters"
          text run at (5,131) width 305: "mark the insertion points of the floating image. "
          text run at (309,131) width 159: "It is expected that, under"
          text run at (5,149) width 465: "future specifications, it may be acceptable for the top of floated elements"
          text run at (5,167) width 455: "to align with the top of the line-box following the insertion point of the"
          text run at (5,185) width 451: "floated element to avoid floating elements appearing before text which"
          text run at (5,203) width 226: "precedes it in the source document."
      RenderBlock {HR} at (24,3232) size 579x2 [border: (1px inset #000000)]
      RenderTable {TABLE} at (0,3258) size 769x3079 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x3077
          RenderTableRow {TR} at (0,0) size 767x26
            RenderTableCell {TD} at (0,0) size 767x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 161x18
                RenderText {#text} at (4,4) size 161x18
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x3051
            RenderTableCell {TD} at (0,1538) size 12x27 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x19
                text run at (4,5) width 4: " "
            RenderTableCell {TD} at (12,26) size 755x3051 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x54
                RenderText {#text} at (0,0) size 736x54
                  text run at (0,0) width 694: "On this test page, each test is performed once with floating paragraphs, and then again with floating images. "
                  text run at (693,0) width 38: "Other"
                  text run at (0,18) width 736: "than the substitution of images for pargraphs, the structure of the test is exactly the same, including the direction of"
                  text run at (0,36) width 63: "the floats."
              RenderBlock {HR} at (28,82) size 563x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,108) size 743x100 [border: (5px solid #800080)]
                RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 134x54
                    text run at (17,17) width 134: "This is a left-floating"
                    text run at (17,35) width 115: "paragraph (first in"
                    text run at (17,53) width 52: "source)."
                RenderBlock (floating) {P} at (544,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 143x54
                    text run at (17,17) width 143: "This is a right-floating"
                    text run at (17,35) width 135: "paragraph (second in"
                    text run at (17,53) width 52: "source)."
                RenderText {#text} at (199,5) size 344x90
                  text run at (199,5) width 178: "This is text within the DIV. "
                  text run at (376,5) width 140: "The floating elements"
                  text run at (199,23) width 344: "within this DIV should not go beyond the left or right"
                  text run at (199,41) width 338: "inner edge of this DIV, which means that the borders"
                  text run at (199,59) width 340: "of the floating elements should not overlap the top or"
                  text run at (199,77) width 154: "side borders of the DIV."
              RenderBlock {HR} at (357,216) size 41x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,226) size 743x64 [border: (5px solid #800080)]
                RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
                RenderImage {IMG} at (723,5) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (20,5) size 704x54
                  text run at (20,5) width 178: "This is text within the DIV. "
                  text run at (197,5) width 512: "The floating images within this DIV should not go beyond the left or right inner"
                  text run at (20,23) width 662: "edge of this DIV, which means that the borders of the floating images should not overlap the top or side"
                  text run at (5,41) width 124: "borders of the DIV."
              RenderBlock {HR} at (28,314) size 563x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,340) size 442x226 [border: (5px solid #800080)]
                RenderBlock (floating) {P} at (5,5) size 194x70 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 127x36
                    text run at (17,17) width 127: "This is the first left-"
                    text run at (17,35) width 121: "floating paragraph."
                RenderBlock (floating) {P} at (199,5) size 194x70 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 146x36
                    text run at (17,17) width 146: "This is the second left-"
                    text run at (17,35) width 121: "floating paragraph."
                RenderBlock (floating) {P} at (5,75) size 194x70 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 132x36
                    text run at (17,17) width 132: "This is the third left-"
                    text run at (17,35) width 121: "floating paragraph."
                RenderText {#text} at (393,5) size 432x216
                  text run at (393,5) width 44: "This is"
                  text run at (393,23) width 24: "text"
                  text run at (393,41) width 41: "within"
                  text run at (393,59) width 20: "the"
                  text run at (199,77) width 35: "DIV. "
                  text run at (233,77) width 184: "The floating elements within"
                  text run at (199,95) width 222: "this DIV should not go beyond the"
                  text run at (199,113) width 223: "left or right inner edge of this DIV,"
                  text run at (199,131) width 229: "which means that the borders of the"
                  text run at (5,149) width 421: "floating elements should not overlap the top or side borders of the"
                  text run at (5,167) width 110: "DIV in any way. "
                  text run at (114,167) width 303: "In addition, they should not overlap each other."
                  text run at (5,185) width 432: "The first two should be side by side, whereas the third should be on"
                  text run at (5,203) width 97: "the next \"line.\""
              RenderBlock {HR} at (357,574) size 41x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,584) size 360x208 [border: (5px solid #800080)]
                RenderImage {IMG} at (5,5) size 156x36 [border: (3px solid #000000)]
                RenderImage {IMG} at (161,5) size 156x36 [border: (3px solid #000000)]
                RenderImage {IMG} at (5,41) size 156x36 [border: (3px solid #000000)]
                RenderText {#text} at (317,5) size 344x198
                  text run at (317,5) width 29: "This"
                  text run at (317,23) width 11: "is"
                  text run at (161,41) width 131: "text within the DIV. "
                  text run at (291,41) width 26: "The"
                  text run at (161,59) width 171: "floating images within this"
                  text run at (5,77) width 342: "DIV should not go beyond the left or right inner edge"
                  text run at (5,95) width 308: "of this DIV, which means that the borders of the"
                  text run at (5,113) width 317: "floating images should not overlap the top or side"
                  text run at (5,131) width 203: "borders of the DIV in any way. "
                  text run at (207,131) width 106: "In addition, they"
                  text run at (5,149) width 197: "should not overlap each other. "
                  text run at (201,149) width 148: "The first two should be"
                  text run at (5,167) width 335: "side by side, whereas the third should be on the next"
                  text run at (5,185) width 42: "\"line.\""
              RenderBlock {HR} at (28,816) size 563x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,842) size 314x350 [border: (5px solid #800080)]
                RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 134x54
                    text run at (17,17) width 134: "This is a left-floating"
                    text run at (17,35) width 115: "paragraph (first in"
                    text run at (17,53) width 52: "source)."
                RenderBlock (floating) {P} at (115,93) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 143x54
                    text run at (17,17) width 143: "This is a right-floating"
                    text run at (17,35) width 135: "paragraph (second in"
                    text run at (17,53) width 52: "source)."
                RenderText {#text} at (199,5) size 301x340
                  text run at (199,5) width 72: "This is text"
                  text run at (199,23) width 99: "within the DIV."
                  text run at (199,41) width 78: "The floating"
                  text run at (199,59) width 102: "elements within"
                  text run at (5,93) width 103: "this DIV should"
                  text run at (5,111) width 92: "not go beyond"
                  text run at (5,129) width 97: "the left or right"
                  text run at (5,147) width 85: "inner edge of"
                  text run at (5,165) width 101: "this DIV, which"
                  text run at (5,183) width 300: "means that the borders of the floating elements"
                  text run at (5,201) width 284: "should not overlap the top or side borders of"
                  text run at (5,219) width 133: "the DIV in any way. "
                  text run at (137,219) width 153: "In addition, they should"
                  text run at (5,237) width 292: "not overlap each other in any way, nor should"
                  text run at (5,255) width 301: "the floated elements be overwritten by the DIV"
                  text run at (5,273) width 32: "text. "
                  text run at (36,273) width 254: "In addition, the floated elements should"
                  text run at (5,291) width 299: "not be side-by-side, but instead the first should"
                  text run at (5,309) width 279: "be floated left, and the second floated to the"
                  text run at (5,327) width 130: "right below the first."
              RenderBlock {HR} at (357,1200) size 41x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,1210) size 410x226 [border: (5px solid #800080)]
                RenderImage {IMG} at (5,5) size 256x36 [border: (3px solid #000000)]
                RenderImage {IMG} at (149,41) size 256x36 [border: (3px solid #000000)]
                RenderText {#text} at (261,5) size 396x216
                  text run at (261,5) width 140: "This is text within the"
                  text run at (261,23) width 35: "DIV. "
                  text run at (295,23) width 79: "The floating"
                  text run at (5,41) width 118: "images within this"
                  text run at (5,59) width 120: "DIV should not go"
                  text run at (5,77) width 386: "beyond the left or right inner edge of this DIV, which means"
                  text run at (5,95) width 390: "that the borders of the floating images should not overlap the"
                  text run at (5,113) width 274: "top or side borders of the DIV in any way. "
                  text run at (278,113) width 107: "In addition, they"
                  text run at (5,131) width 362: "should not overlap each other in any way, nor should the"
                  text run at (5,149) width 313: "floated elements be overwritten by the DIV text. "
                  text run at (317,149) width 75: "In addition,"
                  text run at (5,167) width 391: "the floated images should not be side-by-side, but instead the"
                  text run at (5,185) width 389: "first should be floated left, and the second floated to the right"
                  text run at (5,203) width 96: "below the first."
              RenderBlock {HR} at (28,1460) size 563x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,1486) size 743x118 [border: (5px solid #800080)]
                RenderBlock (floating) {P} at (544,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 143x54
                    text run at (17,17) width 143: "This is a right-floating"
                    text run at (17,35) width 115: "paragraph (first in"
                    text run at (17,53) width 52: "source)."
                RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 135x54
                    text run at (17,17) width 134: "This is a left-floating"
                    text run at (17,35) width 135: "paragraph (second in"
                    text run at (17,53) width 52: "source)."
                RenderText {#text} at (199,5) size 539x108
                  text run at (199,5) width 178: "This is text within the DIV. "
                  text run at (376,5) width 140: "The floating elements"
                  text run at (199,23) width 338: "within this DIV should not go beyond the top side of"
                  text run at (199,41) width 343: "this DIV, which means that the borders of the floating"
                  text run at (199,59) width 345: "elements should not overlap the top or side borders of"
                  text run at (199,77) width 133: "the DIV in any way. "
                  text run at (331,77) width 195: "In addition, the top of the left-"
                  text run at (5,95) width 453: "floating box should not be higher than the top of the right-floating box."
              RenderBlock {HR} at (357,1612) size 41x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,1622) size 743x82 [border: (5px solid #800080)]
                RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
                RenderImage {IMG} at (723,5) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (20,5) size 692x72
                  text run at (20,5) width 178: "This is text within the DIV. "
                  text run at (197,5) width 497: "The floating images within this DIV should not go beyond the top side of this"
                  text run at (20,23) width 677: "DIV, which means that the borders of the floating images should not overlap the top or side borders of the"
                  text run at (5,41) width 110: "DIV in any way. "
                  text run at (114,41) width 581: "In addition, the top of the left-floating image should not be higher than the top of the right-"
                  text run at (5,59) width 96: "floating image."
              RenderBlock {HR} at (28,1728) size 563x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,1754) size 743x136 [border: (5px solid #800080)]
                RenderText {#text} at (199,5) size 186x18
                  text run at (199,5) width 178: "This is text within the DIV. "
                  text run at (376,5) width 9: "*"
                RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 134x54
                    text run at (17,17) width 134: "This is a left-floating"
                    text run at (17,35) width 115: "paragraph (first in"
                    text run at (17,53) width 52: "source)."
                RenderText {#text} at (384,5) size 524x36
                  text run at (384,5) width 339: " The floating elements within this DIV should not go"
                  text run at (199,23) width 515: "any higher than the line-box containing the inline content which precedes them. "
                  text run at (713,23) width 9: "*"
                RenderBlock (floating) {P} at (544,41) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 143x54
                    text run at (17,17) width 143: "This is a right-floating"
                    text run at (17,35) width 135: "paragraph (second in"
                    text run at (17,53) width 52: "source)."
                RenderText {#text} at (199,41) size 523x90
                  text run at (199,41) width 328: "This means that the top side of each float can be, at"
                  text run at (199,59) width 321: "most, as high as the top edge of the inline element"
                  text run at (199,77) width 291: "containing the content just before the floating"
                  text run at (5,95) width 191: "elements occur in the source. "
                  text run at (195,95) width 333: "In order to mark these points clearly, an asterisk has"
                  text run at (5,113) width 297: "been inserted just before each floated element."
              RenderBlock {HR} at (357,1898) size 41x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,1908) size 743x82 [border: (5px solid #800080)]
                RenderText {#text} at (20,5) size 186x18
                  text run at (20,5) width 178: "This is text within the DIV. "
                  text run at (197,5) width 9: "*"
                RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (205,5) size 697x36
                  text run at (205,5) width 512: " The floating images within this DIV should not go any higher than the line-box"
                  text run at (20,23) width 330: "containing the inline content which precedes them. "
                  text run at (349,23) width 13: "* "
                RenderImage {IMG} at (723,23) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (361,23) size 711x54
                  text run at (361,23) width 328: "This means that the top side of each float can be, at"
                  text run at (5,41) width 704: "most, as high as the top edge of the inline element containing the content just before the floating images occur"
                  text run at (5,59) width 90: "in the source. "
                  text run at (94,59) width 622: "In order to mark these points clearly, an asterisk has been inserted just before each floated image."
              RenderBlock {HR} at (28,2014) size 563x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,2040) size 743x226 [border: (5px solid #800080)]
                RenderText {#text} at (199,5) size 186x18
                  text run at (199,5) width 178: "This is text within the DIV. "
                  text run at (376,5) width 9: "*"
                RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 134x54
                    text run at (17,17) width 134: "This is a left-floating"
                    text run at (17,35) width 115: "paragraph (first in"
                    text run at (17,53) width 52: "source)."
                RenderText {#text} at (384,5) size 524x36
                  text run at (384,5) width 339: " The floating elements within this DIV should not go"
                  text run at (199,23) width 515: "any higher than the line-box containing the inline content which precedes them. "
                  text run at (713,23) width 9: "*"
                RenderBlock (floating) {P} at (544,41) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 143x54
                    text run at (17,17) width 143: "This is a right-floating"
                    text run at (17,35) width 135: "paragraph (second in"
                    text run at (17,53) width 52: "source)."
                RenderText {#text} at (199,41) size 320x18
                  text run at (199,41) width 320: "This means that the top side of each float can be,*"
                RenderBlock (floating) {P} at (199,59) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 134x54
                    text run at (17,17) width 134: "This is a left-floating"
                    text run at (17,35) width 120: "paragraph (third in"
                    text run at (17,53) width 52: "source)."
                RenderText {#text} at (518,41) size 252x108
                  text run at (518,41) width 17: " at"
                  text run at (393,59) width 151: "most, as high as the top"
                  text run at (393,77) width 112: "edge of the inline"
                  text run at (393,95) width 146: "element containing the"
                  text run at (393,113) width 143: "content just before the"
                  text run at (393,131) width 244: "floating elements occur in the source. "
                  text run at (636,131) width 9: "*"
                RenderBlock (floating) {P} at (5,149) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 134x54
                    text run at (17,17) width 134: "This is a left-floating"
                    text run at (17,35) width 129: "paragraph (fourth in"
                    text run at (17,53) width 52: "source)."
                RenderText {#text} at (644,131) size 519x90
                  text run at (644,131) width 72: " In order to"
                  text run at (199,149) width 503: "mark these points clearly, an asterisk has been inserted just before each floated"
                  text run at (199,167) width 59: "element. "
                  text run at (257,167) width 461: "If a line has room for a floated element, then the element should float so"
                  text run at (199,185) width 505: "that its top is aligned with the top of the line-box in which the asterisk appears."
                  text run at (199,203) width 411: "Otherwise, its top should align with the top of the next line-box."
              RenderBlock {HR} at (357,2277) size 41x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,2287) size 743x118 [border: (5px solid #800080)]
                RenderText {#text} at (20,5) size 186x18
                  text run at (20,5) width 178: "This is text within the DIV. "
                  text run at (197,5) width 9: "*"
                RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (205,5) size 682x36
                  text run at (205,5) width 512: " The floating images within this DIV should not go any higher than the line-box"
                  text run at (35,23) width 330: "containing the inline content which precedes them. "
                  text run at (364,23) width 13: "* "
                RenderImage {IMG} at (723,23) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (376,23) size 325x18
                  text run at (376,23) width 317: "This means that the top side of each float can be, "
                  text run at (692,23) width 9: "*"
                RenderImage {IMG} at (20,23) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (700,23) size 696x54
                  text run at (700,23) width 16: " at"
                  text run at (35,41) width 665: "most, as high as the top edge of the inline element containing the content just before the floating images"
                  text run at (20,59) width 130: "occur in the source. "
                  text run at (149,59) width 9: "*"
                RenderImage {IMG} at (5,59) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (157,59) size 731x54
                  text run at (157,59) width 579: " In order to mark these points clearly, an asterisk has been inserted just before each floated"
                  text run at (20,77) width 48: "image. "
                  text run at (67,77) width 655: "If a line has room for a floated image, then the image should float so that its top is aligned with the top"
                  text run at (5,95) width 292: "of the line-box in which the asterisk appears. "
                  text run at (296,95) width 411: "Otherwise, its top should align with the top of the next line-box."
              RenderBlock {HR} at (28,2429) size 563x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,2455) size 490x298 [border: (5px solid #800080)]
                RenderText {#text} at (199,5) size 56x18
                  text run at (199,5) width 56: "This is *"
                RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 134x54
                    text run at (17,17) width 134: "This is a left-floating"
                    text run at (17,35) width 115: "paragraph (first in"
                    text run at (17,53) width 52: "source)."
                RenderText {#text} at (254,5) size 13x18
                  text run at (254,5) width 13: " *"
                RenderBlock (floating) {P} at (291,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 143x54
                    text run at (17,17) width 143: "This is a right-floating"
                    text run at (17,35) width 135: "paragraph (second in"
                    text run at (17,53) width 52: "source)."
                RenderText {#text} at (199,23) size 479x270
                  text run at (199,23) width 69: "text within"
                  text run at (199,41) width 54: "the DIV."
                  text run at (199,59) width 85: "Under CSS1,"
                  text run at (199,77) width 45: "the left"
                  text run at (5,95) width 469: "floating element should be placed in the upper left corner of the DIV, and"
                  text run at (5,113) width 465: "the purple border of the DIV should abut the green border of the floating"
                  text run at (5,131) width 59: "element. "
                  text run at (63,131) width 421: "Similarly, the right floating element should be placed in the upper"
                  text run at (5,149) width 467: "right corner of the DIV, and the purple border of the DIV should abut the"
                  text run at (5,167) width 465: "green border of the floating element. The text of the DIV element should"
                  text run at (5,185) width 433: "flow between and under the two floating elements. The two asterisk"
                  text run at (5,203) width 477: "characters mark the insertion points of the floating elements. It is expected"
                  text run at (5,221) width 477: "that, under future specifications, it may be acceptable for the top of floated"
                  text run at (5,239) width 475: "elements to align with the top of the line-box following the insertion point"
                  text run at (5,257) width 449: "of the floated element to avoid floating elements appearing before text"
                  text run at (5,275) width 269: "which precedes it in the source document."
              RenderBlock {HR} at (357,2761) size 41x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,2771) size 490x226 [border: (5px solid #800080)]
                RenderText {#text} at (20,5) size 56x18
                  text run at (20,5) width 56: "This is *"
                RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (75,5) size 13x18
                  text run at (75,5) width 13: " *"
                RenderImage {IMG} at (470,5) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (87,5) size 472x216
                  text run at (87,5) width 135: " text within the DIV. "
                  text run at (221,5) width 231: "Under CSS1, the left floating image"
                  text run at (20,23) width 429: "should be placed in the upper left corner of the DIV, and the purple"
                  text run at (5,41) width 443: "border of the DIV should abut the green border of the floating image."
                  text run at (5,59) width 443: "Similarly, the right floating image should be placed in the upper right"
                  text run at (5,77) width 472: "corner of the DIV, and the purple border of the DIV should abut the green"
                  text run at (5,95) width 447: "border of the floating image. The text of the DIV element should flow"
                  text run at (5,113) width 451: "between and under the two floating image. The two asterisk characters"
                  text run at (5,131) width 305: "mark the insertion points of the floating image. "
                  text run at (309,131) width 159: "It is expected that, under"
                  text run at (5,149) width 465: "future specifications, it may be acceptable for the top of floated elements"
                  text run at (5,167) width 455: "to align with the top of the line-box following the insertion point of the"
                  text run at (5,185) width 451: "floated element to avoid floating elements appearing before text which"
                  text run at (5,203) width 226: "precedes it in the source document."
              RenderBlock {HR} at (28,3021) size 563x2 [border: (1px inset #000000)]
