layer at (0,0) size 785x6281
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x6281
  RenderBlock {HTML} at (0,0) size 785x6281
    RenderBody {BODY} at (8,8) size 769x6265 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 355x17
          text run at (0,0) width 355: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x135
        RenderText {#text} at (0,0) size 480x135
          text run at (0,0) width 272: "HR.minor {clear: both; width: 5%;}"
          text run at (0,15) width 400: "HR.major {clear: both; width: 75%; margin: 1.5em;}"
          text run at (0,30) width 480: "DIV {border: 5px solid purple; padding: 0; margin: 0.125em;}"
          text run at (0,45) width 432: "P.left, P.right {width: 10em; padding: 1em; margin: 0;"
          text run at (0,60) width 424: "   border: 1px solid lime; background-color: silver;}"
          text run at (0,75) width 456: "IMG.left, IMG.right {margin: 0; border: 3px solid black;}"
          text run at (0,90) width 160: ".left {float: left;}"
          text run at (0,105) width 176: ".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 769x36
        RenderText {#text} at (0,0) size 751x35
          text run at (0,0) width 681: "On this test page, each test is performed once with floating paragraphs, and then again with floating images. "
          text run at (681,0) width 67: "Other than"
          text run at (0,18) width 751: "the substitution of images for pargraphs, the structure of the test is exactly the same, including the direction of the floats."
      RenderBlock {HR} at (24,260) size 579x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,286) 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 130x53
            text run at (17,17) width 130: "This is a left-floating"
            text run at (17,35) width 112: "paragraph (first in"
            text run at (17,53) width 50: "source)."
        RenderBlock (floating) {P} at (566,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 139x53
            text run at (17,17) width 139: "This is a right-floating"
            text run at (17,35) width 132: "paragraph (second in"
            text run at (17,53) width 50: "source)."
        RenderText {#text} at (199,5) size 363x89
          text run at (199,5) width 177: "This is text within the DIV. "
          text run at (376,5) width 180: "The floating elements within"
          text run at (199,23) width 363: "this DIV should not go beyond the left or right inner edge"
          text run at (199,41) width 356: "of this DIV, which means that the borders of the floating"
          text run at (199,59) width 360: "elements should not overlap the top or side borders of the"
          text run at (199,77) width 33: "DIV."
      RenderBlock {HR} at (364,394) size 41x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,404) 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 728x53
          text run at (20,5) width 177: "This is text within the DIV. "
          text run at (197,5) width 536: "The floating images within this DIV should not go beyond the left or right inner edge"
          text run at (20,23) width 709: "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 33: "DIV."
      RenderBlock {HR} at (24,492) size 579x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,518) 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 122x35
            text run at (17,17) width 122: "This is the first left-"
            text run at (17,35) width 119: "floating paragraph."
        RenderBlock (floating) {P} at (199,5) size 194x70 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 142x35
            text run at (17,17) width 142: "This is the second left-"
            text run at (17,35) width 119: "floating paragraph."
        RenderBlock (floating) {P} at (5,75) size 194x70 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 127x35
            text run at (17,17) width 127: "This is the third left-"
            text run at (17,35) width 119: "floating paragraph."
        RenderText {#text} at (393,5) size 430x215
          text run at (393,5) width 42: "This is"
          text run at (393,23) width 23: "text"
          text run at (393,41) width 40: "within"
          text run at (393,59) width 19: "the"
          text run at (199,77) width 37: "DIV. "
          text run at (236,77) width 180: "The floating elements within"
          text run at (199,95) width 219: "this DIV should not go beyond the"
          text run at (199,113) width 220: "left or right inner edge of this DIV,"
          text run at (199,131) width 224: "which means that the borders of the"
          text run at (5,149) width 412: "floating elements should not overlap the top or side borders of the"
          text run at (5,167) width 111: "DIV in any way. "
          text run at (116,167) width 297: "In addition, they should not overlap each other."
          text run at (5,185) width 425: "The first two should be side by side, whereas the third should be on"
          text run at (5,203) width 95: "the next \"line.\""
      RenderBlock {HR} at (364,752) size 41x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,762) size 360x190 [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 350x179
          text run at (317,5) width 28: "This"
          text run at (317,23) width 37: "is text"
          text run at (161,41) width 104: "within the DIV. "
          text run at (265,41) width 77: "The floating"
          text run at (161,59) width 193: "images within this DIV should"
          text run at (5,77) width 338: "not go beyond the left or right inner edge of this DIV,"
          text run at (5,95) width 324: "which means that the borders of the floating images"
          text run at (5,113) width 350: "should not overlap the top or side borders of the DIV in"
          text run at (5,131) width 62: "any way. "
          text run at (67,131) width 257: "In addition, they should not overlap each"
          text run at (5,149) width 40: "other. "
          text run at (45,149) width 307: "The first two should be side by side, whereas the"
          text run at (5,167) width 213: "third should be on the next \"line.\""
      RenderBlock {HR} at (24,976) size 579x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,1002) 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 130x53
            text run at (17,17) width 130: "This is a left-floating"
            text run at (17,35) width 112: "paragraph (first in"
            text run at (17,53) width 50: "source)."
        RenderBlock (floating) {P} at (115,93) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 139x53
            text run at (17,17) width 139: "This is a right-floating"
            text run at (17,35) width 132: "paragraph (second in"
            text run at (17,53) width 50: "source)."
        RenderText {#text} at (199,5) size 304x339
          text run at (199,5) width 69: "This is text"
          text run at (199,23) width 100: "within the DIV."
          text run at (199,41) width 77: "The floating"
          text run at (199,59) width 99: "elements within"
          text run at (5,93) width 101: "this DIV should"
          text run at (5,111) width 91: "not go beyond"
          text run at (5,129) width 93: "the left or right"
          text run at (5,147) width 109: "inner edge of this"
          text run at (5,165) width 76: "DIV, which"
          text run at (5,183) width 292: "means that the borders of the floating elements"
          text run at (5,201) width 301: "should not overlap the top or side borders of the"
          text run at (5,219) width 111: "DIV in any way. "
          text run at (116,219) width 173: "In addition, they should not"
          text run at (5,237) width 288: "overlap each other in any way, nor should the"
          text run at (5,255) width 304: "floated elements be overwritten by the DIV text."
          text run at (5,273) width 290: "In addition, the floated elements should not be"
          text run at (5,291) width 268: "side-by-side, but instead the first should be"
          text run at (5,309) width 288: "floated left, and the second floated to the right"
          text run at (5,327) width 94: "below the first."
      RenderBlock {HR} at (364,1360) size 41x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,1370) 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 392x215
          text run at (261,5) width 136: "This is text within the"
          text run at (261,23) width 37: "DIV. "
          text run at (298,23) width 77: "The floating"
          text run at (5,41) width 114: "images within this"
          text run at (5,59) width 119: "DIV should not go"
          text run at (5,77) width 381: "beyond the left or right inner edge of this DIV, which means"
          text run at (5,95) width 381: "that the borders of the floating images should not overlap the"
          text run at (5,113) width 272: "top or side borders of the DIV in any way. "
          text run at (277,113) width 103: "In addition, they"
          text run at (5,131) width 358: "should not overlap each other in any way, nor should the"
          text run at (5,149) width 308: "floated elements be overwritten by the DIV text. "
          text run at (313,149) width 72: "In addition,"
          text run at (5,167) width 382: "the floated images should not be side-by-side, but instead the"
          text run at (5,185) width 381: "first should be floated left, and the second floated to the right"
          text run at (5,203) width 94: "below the first."
      RenderBlock {HR} at (24,1620) size 579x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,1646) 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 139x53
            text run at (17,17) width 139: "This is a right-floating"
            text run at (17,35) width 112: "paragraph (first in"
            text run at (17,53) width 50: "source)."
        RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 132x53
            text run at (17,17) width 130: "This is a left-floating"
            text run at (17,35) width 132: "paragraph (second in"
            text run at (17,53) width 50: "source)."
        RenderText {#text} at (199,5) size 551x107
          text run at (199,5) width 177: "This is text within the DIV. "
          text run at (376,5) width 180: "The floating elements within"
          text run at (199,23) width 352: "this DIV should not go beyond the top side of this DIV,"
          text run at (199,41) width 335: "which means that the borders of the floating elements"
          text run at (199,59) width 350: "should not overlap the top or side borders of the DIV in"
          text run at (199,77) width 62: "any way. "
          text run at (261,77) width 264: "In addition, the top of the left-floating box"
          text run at (5,95) width 365: "should not be higher than the top of the right-floating box."
      RenderBlock {HR} at (364,1772) size 41x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,1782) 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 720x53
          text run at (20,5) width 177: "This is text within the DIV. "
          text run at (197,5) width 525: "The floating images within this DIV should not go beyond the top side of this DIV,"
          text run at (20,23) width 705: "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 35: "way. "
          text run at (40,41) width 661: "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,1870) size 579x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,1896) size 765x136 [border: (5px solid #800080)]
        RenderText {#text} at (199,5) size 185x17
          text run at (199,5) width 177: "This is text within the DIV. "
          text run at (376,5) width 8: "*"
        RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 130x53
            text run at (17,17) width 130: "This is a left-floating"
            text run at (17,35) width 112: "paragraph (first in"
            text run at (17,53) width 50: "source)."
        RenderText {#text} at (384,5) size 545x35
          text run at (384,5) width 360: " The floating elements within this DIV should not go any"
          text run at (199,23) width 477: "higher than the line-box containing the inline content which precedes them. "
          text run at (676,23) width 12: "* "
        RenderBlock (floating) {P} at (566,41) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 139x53
            text run at (17,17) width 139: "This is a right-floating"
            text run at (17,35) width 132: "paragraph (second in"
            text run at (17,53) width 50: "source)."
        RenderText {#text} at (688,23) size 755x107
          text run at (688,23) width 72: "This means"
          text run at (199,41) width 349: "that the top side of each float can be, at most, as high as"
          text run at (199,59) width 352: "the top edge of the inline element containing the content"
          text run at (199,77) width 331: "just before the floating elements occur in the source. "
          text run at (530,77) width 13: "In"
          text run at (5,95) width 545: "order to mark these points clearly, an asterisk has been inserted just before each floated"
          text run at (5,113) width 53: "element."
      RenderBlock {HR} at (364,2040) size 41x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,2050) size 765x82 [border: (5px solid #800080)]
        RenderText {#text} at (20,5) size 185x17
          text run at (20,5) width 177: "This is text within the DIV. "
          text run at (197,5) width 8: "*"
        RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (205,5) size 688x35
          text run at (205,5) width 503: " The floating images within this DIV should not go any higher than the line-box"
          text run at (20,23) width 323: "containing the inline content which precedes them. "
          text run at (343,23) width 12: "* "
        RenderImage {IMG} at (745,23) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (355,23) size 738x53
          text run at (355,23) width 376: "This means that the top side of each float can be, at most, as"
          text run at (5,41) width 725: "high as the top edge of the inline element containing the content just before the floating images occur in the source. "
          text run at (730,41) width 13: "In"
          text run at (5,59) width 591: "order to mark these points clearly, an asterisk has been inserted just before each floated image."
      RenderBlock {HR} at (24,2156) size 579x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,2182) size 765x262 [border: (5px solid #800080)]
        RenderText {#text} at (199,5) size 185x17
          text run at (199,5) width 177: "This is text within the DIV. "
          text run at (376,5) width 8: "*"
        RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 130x53
            text run at (17,17) width 130: "This is a left-floating"
            text run at (17,35) width 112: "paragraph (first in"
            text run at (17,53) width 50: "source)."
        RenderText {#text} at (384,5) size 545x35
          text run at (384,5) width 360: " The floating elements within this DIV should not go any"
          text run at (199,23) width 477: "higher than the line-box containing the inline content which precedes them. "
          text run at (676,23) width 12: "* "
        RenderBlock (floating) {P} at (566,41) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 139x53
            text run at (17,17) width 139: "This is a right-floating"
            text run at (17,35) width 132: "paragraph (second in"
            text run at (17,53) width 50: "source)."
        RenderText {#text} at (688,23) size 561x35
          text run at (688,23) width 72: "This means"
          text run at (199,41) width 238: "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 130x53
            text run at (17,17) width 130: "This is a left-floating"
            text run at (17,35) width 117: "paragraph (third in"
            text run at (17,53) width 50: "source)."
        RenderText {#text} at (437,41) size 274x107
          text run at (437,41) width 119: " at most, as high as"
          text run at (393,59) width 156: "the top edge of the inline"
          text run at (393,77) width 142: "element containing the"
          text run at (393,95) width 139: "content just before the"
          text run at (393,113) width 162: "floating elements occur in"
          text run at (587,131) width 72: "the source. "
          text run at (659,131) width 8: "*"
        RenderBlock (floating) {P} at (393,131) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 130x53
            text run at (17,17) width 130: "This is a left-floating"
            text run at (17,35) width 126: "paragraph (fourth in"
            text run at (17,53) width 50: "source)."
        RenderText {#text} at (667,131) size 742x125
          text run at (667,131) width 70: " In order to"
          text run at (587,149) width 160: "mark these points clearly,"
          text run at (587,167) width 125: "an asterisk has been"
          text run at (587,185) width 152: "inserted just before each"
          text run at (587,203) width 104: "floated element. "
          text run at (691,203) width 48: "If a line"
          text run at (5,221) width 722: "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 173: "which the asterisk appears. "
          text run at (178,239) width 402: "Otherwise, its top should align with the top of the next line-box."
      RenderBlock {HR} at (364,2452) size 41x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,2462) size 765x118 [border: (5px solid #800080)]
        RenderText {#text} at (20,5) size 185x17
          text run at (20,5) width 177: "This is text within the DIV. "
          text run at (197,5) width 8: "*"
        RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (205,5) size 673x35
          text run at (205,5) width 503: " The floating images within this DIV should not go any higher than the line-box"
          text run at (35,23) width 323: "containing the inline content which precedes them. "
          text run at (358,23) width 12: "* "
        RenderImage {IMG} at (745,23) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (370,23) size 318x17
          text run at (370,23) width 310: "This means that the top side of each float can be, "
          text run at (680,23) width 8: "*"
        RenderImage {IMG} at (20,23) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (688,23) size 721x53
          text run at (688,23) width 53: " at most,"
          text run at (35,41) width 689: "as high as the top edge of the inline element containing the content just before the floating images occur in the"
          text run at (20,59) width 49: "source. "
          text run at (69,59) width 8: "*"
        RenderImage {IMG} at (5,59) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (77,59) size 736x53
          text run at (77,59) width 616: " In order to mark these points clearly, an asterisk has been inserted just before each floated image. "
          text run at (693,59) width 48: "If a line"
          text run at (20,77) width 700: "has room for a floated image, then the image should float so that its top is aligned with the top of the line-box in"
          text run at (5,95) width 173: "which the asterisk appears. "
          text run at (178,95) width 402: "Otherwise, its top should align with the top of the next line-box."
      RenderBlock {HR} at (24,2604) size 579x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,2630) size 490x298 [border: (5px solid #800080)]
        RenderText {#text} at (199,5) size 54x17
          text run at (199,5) width 54: "This is *"
        RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 130x53
            text run at (17,17) width 130: "This is a left-floating"
            text run at (17,35) width 112: "paragraph (first in"
            text run at (17,53) width 50: "source)."
        RenderText {#text} at (253,5) size 12x17
          text run at (253,5) width 12: " *"
        RenderBlock (floating) {P} at (291,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
          RenderText {#text} at (17,17) size 139x53
            text run at (17,17) width 139: "This is a right-floating"
            text run at (17,35) width 132: "paragraph (second in"
            text run at (17,53) width 50: "source)."
        RenderText {#text} at (199,23) size 477x269
          text run at (199,23) width 90: "text within the"
          text run at (199,41) width 37: "DIV. "
          text run at (236,41) width 40: "Under"
          text run at (199,59) width 88: "CSS1, the left"
          text run at (199,77) width 48: "floating"
          text run at (5,95) width 477: "element should be placed in the upper left corner of the DIV, and the purple"
          text run at (5,113) width 447: "border of the DIV should abut the green border of the floating element."
          text run at (5,131) width 444: "Similarly, the right floating element should be placed in the upper right"
          text run at (5,149) width 468: "corner of the DIV, and the purple border of the DIV should abut the green"
          text run at (5,167) width 451: "border of the floating element. The text of the DIV element should flow"
          text run at (5,185) width 461: "between and under the two floating elements. The two asterisk characters"
          text run at (5,203) width 468: "mark the insertion points of the floating elements. It is expected that, under"
          text run at (5,221) width 470: "future specifications, it may be acceptable for the top of floated elements to"
          text run at (5,239) width 475: "align with the top of the line-box following the insertion point of the floated"
          text run at (5,257) width 466: "element to avoid floating elements appearing before text which precedes it"
          text run at (5,275) width 150: "in the source document."
      RenderBlock {HR} at (364,2936) size 41x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (2,2946) size 490x226 [border: (5px solid #800080)]
        RenderText {#text} at (20,5) size 54x17
          text run at (20,5) width 54: "This is *"
        RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (74,5) size 12x17
          text run at (74,5) width 12: " *"
        RenderImage {IMG} at (470,5) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (86,5) size 480x215
          text run at (86,5) width 135: " text within the DIV. "
          text run at (221,5) width 226: "Under CSS1, the left floating image"
          text run at (20,23) width 424: "should be placed in the upper left corner of the DIV, and the purple"
          text run at (5,41) width 436: "border of the DIV should abut the green border of the floating image."
          text run at (5,59) width 477: "Similarly, the right floating image should be placed in the upper right corner"
          text run at (5,77) width 469: "of the DIV, and the purple border of the DIV should abut the green border"
          text run at (5,95) width 479: "of the floating image. The text of the DIV element should flow between and"
          text run at (5,113) width 477: "under the two floating image. The two asterisk characters mark the insertion"
          text run at (5,131) width 180: "points of the floating image. "
          text run at (185,131) width 300: "It is expected that, under future specifications, it"
          text run at (5,149) width 478: "may be acceptable for the top of floated elements to align with the top of the"
          text run at (5,167) width 429: "line-box following the insertion point of the floated element to avoid"
          text run at (5,185) width 442: "floating elements appearing before text which precedes it in the source"
          text run at (5,203) width 66: "document."
      RenderBlock {HR} at (24,3196) size 579x2 [border: (1px inset #000000)]
      RenderTable {TABLE} at (0,3222) size 769x3043 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x3041
          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 163x17
                RenderText {#text} at (4,4) size 163x17
                  text run at (4,4) width 163: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x3015
            RenderTableCell {TD} at (0,1520) size 12x27 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x18
                text run at (4,5) width 4: " "
            RenderTableCell {TD} at (12,26) size 755x3015 [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 740x53
                  text run at (0,0) width 681: "On this test page, each test is performed once with floating paragraphs, and then again with floating images. "
                  text run at (681,0) width 36: "Other"
                  text run at (0,18) width 740: "than 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 38: "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 130x53
                    text run at (17,17) width 130: "This is a left-floating"
                    text run at (17,35) width 112: "paragraph (first in"
                    text run at (17,53) width 50: "source)."
                RenderBlock (floating) {P} at (544,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 139x53
                    text run at (17,17) width 139: "This is a right-floating"
                    text run at (17,35) width 132: "paragraph (second in"
                    text run at (17,53) width 50: "source)."
                RenderText {#text} at (199,5) size 337x89
                  text run at (199,5) width 177: "This is text within the DIV. "
                  text run at (376,5) width 136: "The floating elements"
                  text run at (199,23) width 337: "within this DIV should not go beyond the left or right"
                  text run at (199,41) width 334: "inner edge of this DIV, which means that the borders"
                  text run at (199,59) width 332: "of the floating elements should not overlap the top or"
                  text run at (199,77) width 153: "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 718x53
                  text run at (20,5) width 177: "This is text within the DIV. "
                  text run at (197,5) width 502: "The floating images within this DIV should not go beyond the left or right inner"
                  text run at (20,23) width 703: "edge of this DIV, which means that the borders of the floating images should not overlap the top or side borders"
                  text run at (5,41) width 73: "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 122x35
                    text run at (17,17) width 122: "This is the first left-"
                    text run at (17,35) width 119: "floating paragraph."
                RenderBlock (floating) {P} at (199,5) size 194x70 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 142x35
                    text run at (17,17) width 142: "This is the second left-"
                    text run at (17,35) width 119: "floating paragraph."
                RenderBlock (floating) {P} at (5,75) size 194x70 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 127x35
                    text run at (17,17) width 127: "This is the third left-"
                    text run at (17,35) width 119: "floating paragraph."
                RenderText {#text} at (393,5) size 430x215
                  text run at (393,5) width 42: "This is"
                  text run at (393,23) width 23: "text"
                  text run at (393,41) width 40: "within"
                  text run at (393,59) width 19: "the"
                  text run at (199,77) width 37: "DIV. "
                  text run at (236,77) width 180: "The floating elements within"
                  text run at (199,95) width 219: "this DIV should not go beyond the"
                  text run at (199,113) width 220: "left or right inner edge of this DIV,"
                  text run at (199,131) width 224: "which means that the borders of the"
                  text run at (5,149) width 412: "floating elements should not overlap the top or side borders of the"
                  text run at (5,167) width 111: "DIV in any way. "
                  text run at (116,167) width 297: "In addition, they should not overlap each other."
                  text run at (5,185) width 425: "The first two should be side by side, whereas the third should be on"
                  text run at (5,203) width 95: "the next \"line.\""
              RenderBlock {HR} at (357,574) size 41x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,584) size 360x190 [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 350x179
                  text run at (317,5) width 28: "This"
                  text run at (317,23) width 37: "is text"
                  text run at (161,41) width 104: "within the DIV. "
                  text run at (265,41) width 77: "The floating"
                  text run at (161,59) width 193: "images within this DIV should"
                  text run at (5,77) width 338: "not go beyond the left or right inner edge of this DIV,"
                  text run at (5,95) width 324: "which means that the borders of the floating images"
                  text run at (5,113) width 350: "should not overlap the top or side borders of the DIV in"
                  text run at (5,131) width 62: "any way. "
                  text run at (67,131) width 257: "In addition, they should not overlap each"
                  text run at (5,149) width 40: "other. "
                  text run at (45,149) width 307: "The first two should be side by side, whereas the"
                  text run at (5,167) width 213: "third should be on the next \"line.\""
              RenderBlock {HR} at (28,798) size 563x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,824) 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 130x53
                    text run at (17,17) width 130: "This is a left-floating"
                    text run at (17,35) width 112: "paragraph (first in"
                    text run at (17,53) width 50: "source)."
                RenderBlock (floating) {P} at (115,93) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 139x53
                    text run at (17,17) width 139: "This is a right-floating"
                    text run at (17,35) width 132: "paragraph (second in"
                    text run at (17,53) width 50: "source)."
                RenderText {#text} at (199,5) size 304x339
                  text run at (199,5) width 69: "This is text"
                  text run at (199,23) width 100: "within the DIV."
                  text run at (199,41) width 77: "The floating"
                  text run at (199,59) width 99: "elements within"
                  text run at (5,93) width 101: "this DIV should"
                  text run at (5,111) width 91: "not go beyond"
                  text run at (5,129) width 93: "the left or right"
                  text run at (5,147) width 109: "inner edge of this"
                  text run at (5,165) width 76: "DIV, which"
                  text run at (5,183) width 292: "means that the borders of the floating elements"
                  text run at (5,201) width 301: "should not overlap the top or side borders of the"
                  text run at (5,219) width 111: "DIV in any way. "
                  text run at (116,219) width 173: "In addition, they should not"
                  text run at (5,237) width 288: "overlap each other in any way, nor should the"
                  text run at (5,255) width 304: "floated elements be overwritten by the DIV text."
                  text run at (5,273) width 290: "In addition, the floated elements should not be"
                  text run at (5,291) width 268: "side-by-side, but instead the first should be"
                  text run at (5,309) width 288: "floated left, and the second floated to the right"
                  text run at (5,327) width 94: "below the first."
              RenderBlock {HR} at (357,1182) size 41x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,1192) 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 392x215
                  text run at (261,5) width 136: "This is text within the"
                  text run at (261,23) width 37: "DIV. "
                  text run at (298,23) width 77: "The floating"
                  text run at (5,41) width 114: "images within this"
                  text run at (5,59) width 119: "DIV should not go"
                  text run at (5,77) width 381: "beyond the left or right inner edge of this DIV, which means"
                  text run at (5,95) width 381: "that the borders of the floating images should not overlap the"
                  text run at (5,113) width 272: "top or side borders of the DIV in any way. "
                  text run at (277,113) width 103: "In addition, they"
                  text run at (5,131) width 358: "should not overlap each other in any way, nor should the"
                  text run at (5,149) width 308: "floated elements be overwritten by the DIV text. "
                  text run at (313,149) width 72: "In addition,"
                  text run at (5,167) width 382: "the floated images should not be side-by-side, but instead the"
                  text run at (5,185) width 381: "first should be floated left, and the second floated to the right"
                  text run at (5,203) width 94: "below the first."
              RenderBlock {HR} at (28,1442) size 563x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,1468) 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 139x53
                    text run at (17,17) width 139: "This is a right-floating"
                    text run at (17,35) width 112: "paragraph (first in"
                    text run at (17,53) width 50: "source)."
                RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 132x53
                    text run at (17,17) width 130: "This is a left-floating"
                    text run at (17,35) width 132: "paragraph (second in"
                    text run at (17,53) width 50: "source)."
                RenderText {#text} at (199,5) size 533x107
                  text run at (199,5) width 177: "This is text within the DIV. "
                  text run at (376,5) width 136: "The floating elements"
                  text run at (199,23) width 333: "within this DIV should not go beyond the top side of"
                  text run at (199,41) width 339: "this DIV, which means that the borders of the floating"
                  text run at (199,59) width 337: "elements should not overlap the top or side borders of"
                  text run at (199,77) width 134: "the DIV in any way. "
                  text run at (333,77) width 188: "In addition, the top of the left-"
                  text run at (5,95) width 445: "floating box should not be higher than the top of the right-floating box."
              RenderBlock {HR} at (357,1594) size 41x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,1604) 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 723x53
                  text run at (20,5) width 177: "This is text within the DIV. "
                  text run at (197,5) width 525: "The floating images within this DIV should not go beyond the top side of this DIV,"
                  text run at (20,23) width 678: "which means that the borders of the floating images should not overlap the top or side borders of the DIV in"
                  text run at (5,41) width 62: "any way. "
                  text run at (67,41) width 661: "In addition, the top of the left-floating image should not be higher than the top of the right-floating image."
              RenderBlock {HR} at (28,1692) size 563x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,1718) size 743x136 [border: (5px solid #800080)]
                RenderText {#text} at (199,5) size 185x17
                  text run at (199,5) width 177: "This is text within the DIV. "
                  text run at (376,5) width 8: "*"
                RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 130x53
                    text run at (17,17) width 130: "This is a left-floating"
                    text run at (17,35) width 112: "paragraph (first in"
                    text run at (17,53) width 50: "source)."
                RenderText {#text} at (384,5) size 518x35
                  text run at (384,5) width 333: " The floating elements within this DIV should not go"
                  text run at (199,23) width 504: "any higher than the line-box containing the inline content which precedes them. "
                  text run at (703,23) width 8: "*"
                RenderBlock (floating) {P} at (544,41) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 139x53
                    text run at (17,17) width 139: "This is a right-floating"
                    text run at (17,35) width 132: "paragraph (second in"
                    text run at (17,53) width 50: "source)."
                RenderText {#text} at (199,41) size 539x89
                  text run at (199,41) width 321: "This means that the top side of each float can be, at"
                  text run at (199,59) width 313: "most, as high as the top edge of the inline element"
                  text run at (199,77) width 343: "containing the content just before the floating elements"
                  text run at (5,95) width 127: "occur in the source. "
                  text run at (132,95) width 412: "In order to mark these points clearly, an asterisk has been inserted"
                  text run at (5,113) width 203: "just before each floated element."
              RenderBlock {HR} at (357,1862) size 41x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,1872) size 743x82 [border: (5px solid #800080)]
                RenderText {#text} at (20,5) size 185x17
                  text run at (20,5) width 177: "This is text within the DIV. "
                  text run at (197,5) width 8: "*"
                RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (205,5) size 688x35
                  text run at (205,5) width 503: " The floating images within this DIV should not go any higher than the line-box"
                  text run at (20,23) width 323: "containing the inline content which precedes them. "
                  text run at (343,23) width 12: "* "
                RenderImage {IMG} at (723,23) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (355,23) size 709x53
                  text run at (355,23) width 359: "This means that the top side of each float can be, at most,"
                  text run at (5,41) width 689: "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 49: "source. "
                  text run at (54,59) width 608: "In order to mark these points clearly, an asterisk has been inserted just before each floated image."
              RenderBlock {HR} at (28,1978) size 563x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,2004) size 743x226 [border: (5px solid #800080)]
                RenderText {#text} at (199,5) size 185x17
                  text run at (199,5) width 177: "This is text within the DIV. "
                  text run at (376,5) width 8: "*"
                RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 130x53
                    text run at (17,17) width 130: "This is a left-floating"
                    text run at (17,35) width 112: "paragraph (first in"
                    text run at (17,53) width 50: "source)."
                RenderText {#text} at (384,5) size 518x35
                  text run at (384,5) width 333: " The floating elements within this DIV should not go"
                  text run at (199,23) width 504: "any higher than the line-box containing the inline content which precedes them. "
                  text run at (703,23) width 8: "*"
                RenderBlock (floating) {P} at (544,41) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 139x53
                    text run at (17,17) width 139: "This is a right-floating"
                    text run at (17,35) width 132: "paragraph (second in"
                    text run at (17,53) width 50: "source)."
                RenderText {#text} at (199,41) size 314x17
                  text run at (199,41) width 314: "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 130x53
                    text run at (17,17) width 130: "This is a left-floating"
                    text run at (17,35) width 117: "paragraph (third in"
                    text run at (17,53) width 50: "source)."
                RenderText {#text} at (513,41) size 246x107
                  text run at (513,41) width 15: " at"
                  text run at (393,59) width 147: "most, as high as the top"
                  text run at (393,77) width 109: "edge of the inline"
                  text run at (393,95) width 142: "element containing the"
                  text run at (393,113) width 139: "content just before the"
                  text run at (393,131) width 238: "floating elements occur in the source. "
                  text run at (631,131) width 8: "*"
                RenderBlock (floating) {P} at (5,149) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 130x53
                    text run at (17,17) width 130: "This is a left-floating"
                    text run at (17,35) width 126: "paragraph (fourth in"
                    text run at (17,53) width 50: "source)."
                RenderText {#text} at (639,131) size 539x89
                  text run at (639,131) width 70: " In order to"
                  text run at (199,149) width 492: "mark these points clearly, an asterisk has been inserted just before each floated"
                  text run at (199,167) width 57: "element. "
                  text run at (256,167) width 477: "If a line has room for a floated element, then the element should float so that"
                  text run at (199,185) width 470: "its top is aligned with the top of the line-box in which the asterisk appears. "
                  text run at (669,185) width 69: "Otherwise,"
                  text run at (199,203) width 329: "its top should align with the top of the next line-box."
              RenderBlock {HR} at (357,2241) size 41x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,2251) size 743x118 [border: (5px solid #800080)]
                RenderText {#text} at (20,5) size 185x17
                  text run at (20,5) width 177: "This is text within the DIV. "
                  text run at (197,5) width 8: "*"
                RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (205,5) size 673x35
                  text run at (205,5) width 503: " The floating images within this DIV should not go any higher than the line-box"
                  text run at (35,23) width 323: "containing the inline content which precedes them. "
                  text run at (358,23) width 12: "* "
                RenderImage {IMG} at (723,23) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (370,23) size 318x17
                  text run at (370,23) width 310: "This means that the top side of each float can be, "
                  text run at (680,23) width 8: "*"
                RenderImage {IMG} at (20,23) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (688,23) size 703x53
                  text run at (688,23) width 15: " at"
                  text run at (35,41) width 688: "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 88: "in the source. "
                  text run at (108,59) width 8: "*"
                RenderImage {IMG} at (5,59) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (116,59) size 727x53
                  text run at (116,59) width 612: " In order to mark these points clearly, an asterisk has been inserted just before each floated image."
                  text run at (20,77) width 712: "If 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-"
                  text run at (5,95) width 217: "box in which the asterisk appears. "
                  text run at (222,95) width 402: "Otherwise, its top should align with the top of the next line-box."
              RenderBlock {HR} at (28,2393) size 563x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,2419) size 490x298 [border: (5px solid #800080)]
                RenderText {#text} at (199,5) size 54x17
                  text run at (199,5) width 54: "This is *"
                RenderBlock (floating) {P} at (5,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 130x53
                    text run at (17,17) width 130: "This is a left-floating"
                    text run at (17,35) width 112: "paragraph (first in"
                    text run at (17,53) width 50: "source)."
                RenderText {#text} at (253,5) size 12x17
                  text run at (253,5) width 12: " *"
                RenderBlock (floating) {P} at (291,5) size 194x88 [bgcolor=#C0C0C0] [border: (1px solid #00FF00)]
                  RenderText {#text} at (17,17) size 139x53
                    text run at (17,17) width 139: "This is a right-floating"
                    text run at (17,35) width 132: "paragraph (second in"
                    text run at (17,53) width 50: "source)."
                RenderText {#text} at (199,23) size 477x269
                  text run at (199,23) width 90: "text within the"
                  text run at (199,41) width 37: "DIV. "
                  text run at (236,41) width 40: "Under"
                  text run at (199,59) width 88: "CSS1, the left"
                  text run at (199,77) width 48: "floating"
                  text run at (5,95) width 477: "element should be placed in the upper left corner of the DIV, and the purple"
                  text run at (5,113) width 447: "border of the DIV should abut the green border of the floating element."
                  text run at (5,131) width 444: "Similarly, the right floating element should be placed in the upper right"
                  text run at (5,149) width 468: "corner of the DIV, and the purple border of the DIV should abut the green"
                  text run at (5,167) width 451: "border of the floating element. The text of the DIV element should flow"
                  text run at (5,185) width 461: "between and under the two floating elements. The two asterisk characters"
                  text run at (5,203) width 468: "mark the insertion points of the floating elements. It is expected that, under"
                  text run at (5,221) width 470: "future specifications, it may be acceptable for the top of floated elements to"
                  text run at (5,239) width 475: "align with the top of the line-box following the insertion point of the floated"
                  text run at (5,257) width 466: "element to avoid floating elements appearing before text which precedes it"
                  text run at (5,275) width 150: "in the source document."
              RenderBlock {HR} at (357,2725) size 41x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (6,2735) size 490x226 [border: (5px solid #800080)]
                RenderText {#text} at (20,5) size 54x17
                  text run at (20,5) width 54: "This is *"
                RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (74,5) size 12x17
                  text run at (74,5) width 12: " *"
                RenderImage {IMG} at (470,5) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (86,5) size 480x215
                  text run at (86,5) width 135: " text within the DIV. "
                  text run at (221,5) width 226: "Under CSS1, the left floating image"
                  text run at (20,23) width 424: "should be placed in the upper left corner of the DIV, and the purple"
                  text run at (5,41) width 436: "border of the DIV should abut the green border of the floating image."
                  text run at (5,59) width 477: "Similarly, the right floating image should be placed in the upper right corner"
                  text run at (5,77) width 469: "of the DIV, and the purple border of the DIV should abut the green border"
                  text run at (5,95) width 479: "of the floating image. The text of the DIV element should flow between and"
                  text run at (5,113) width 477: "under the two floating image. The two asterisk characters mark the insertion"
                  text run at (5,131) width 180: "points of the floating image. "
                  text run at (185,131) width 300: "It is expected that, under future specifications, it"
                  text run at (5,149) width 478: "may be acceptable for the top of floated elements to align with the top of the"
                  text run at (5,167) width 429: "line-box following the insertion point of the floated element to avoid"
                  text run at (5,185) width 442: "floating elements appearing before text which precedes it in the source"
                  text run at (5,203) width 66: "document."
              RenderBlock {HR} at (28,2985) size 563x2 [border: (1px inset #000000)]
