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 (272,0) width 0: " "
          text run at (0,15) width 400: "HR.major {clear: both; width: 75%; margin: 1.5em;}"
          text run at (400,15) width 0: " "
          text run at (0,30) width 480: "DIV {border: 5px solid purple; padding: 0; margin: 0.125em;}"
          text run at (480,30) width 0: " "
          text run at (0,45) width 432: "P.left, P.right {width: 10em; padding: 1em; margin: 0;"
          text run at (432,45) width 0: " "
          text run at (0,60) width 424: "   border: 1px solid lime; background-color: silver;}"
          text run at (424,60) width 0: " "
          text run at (0,75) width 456: "IMG.left, IMG.right {margin: 0; border: 3px solid black;}"
          text run at (456,75) width 0: " "
          text run at (0,90) width 160: ".left {float: left;}"
          text run at (160,90) width 0: " "
          text run at (0,105) width 176: ".right {float: right;}"
          text run at (176,105) width 0: " "
          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 175: "This is text within the DIV. "
          text run at (373,5) width 181: "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 354: "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 31: "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 726x53
          text run at (20,5) width 175: "This is text within the DIV. "
          text run at (194,5) width 537: "The floating images within this DIV should not go beyond the left or right inner edge"
          text run at (20,23) width 707: "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,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 35: "DIV. "
          text run at (233,77) width 181: "The floating elements within"
          text run at (199,95) width 219: "this DIV should not go beyond the"
          text run at (199,113) width 218: "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 110: "DIV in any way. "
          text run at (114,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 102: "within the DIV. "
          text run at (262,41) width 78: "The floating"
          text run at (161,59) width 193: "images within this DIV should"
          text run at (5,77) width 336: "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 61: "any way. "
          text run at (65,131) width 258: "In addition, they should not overlap each"
          text run at (5,149) width 40: "other. "
          text run at (44,149) width 308: "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 98: "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 74: "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 110: "DIV in any way. "
          text run at (114,219) width 174: "In addition, they should not"
          text run at (5,237) width 287: "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 35: "DIV. "
          text run at (295,23) width 78: "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 379: "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 271: "top or side borders of the DIV in any way. "
          text run at (275,113) width 104: "In addition, they"
          text run at (5,131) width 357: "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 (312,149) width 73: "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 549x107
          text run at (199,5) width 175: "This is text within the DIV. "
          text run at (373,5) width 181: "The floating elements within"
          text run at (199,23) width 350: "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 61: "any way. "
          text run at (259,77) width 265: "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 175: "This is text within the DIV. "
          text run at (194,5) width 524: "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 34: "way. "
          text run at (38,41) width 662: "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 183x17
          text run at (199,5) width 175: "This is text within the DIV. "
          text run at (373,5) width 9: "*"
        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 (381,5) size 543x35
          text run at (381,5) width 361: " 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 544: "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 183x17
          text run at (20,5) width 175: "This is text within the DIV. "
          text run at (194,5) width 9: "*"
        RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (202,5) size 686x35
          text run at (202,5) width 504: " 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 590: "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 183x17
          text run at (199,5) width 175: "This is text within the DIV. "
          text run at (373,5) width 9: "*"
        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 (381,5) size 543x35
          text run at (381,5) width 361: " 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 741x125
          text run at (667,131) width 70: " In order to"
          text run at (587,149) width 159: "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 183x17
          text run at (20,5) width 175: "This is text within the DIV. "
          text run at (194,5) width 9: "*"
        RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
        RenderText {#text} at (202,5) size 671x35
          text run at (202,5) width 504: " 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 735x53
          text run at (77,59) width 615: " In order to mark these points clearly, an asterisk has been inserted just before each floated image. "
          text run at (691,59) width 49: "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 475x269
          text run at (199,23) width 90: "text within the"
          text run at (199,41) width 35: "DIV. "
          text run at (233,41) width 41: "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 475: "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 443: "Similarly, the right floating element should be placed in the upper right"
          text run at (5,149) width 466: "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 133: " text within the DIV. "
          text run at (218,5) width 227: "Under CSS1, the left floating image"
          text run at (20,23) width 422: "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 476: "Similarly, the right floating image should be placed in the upper right corner"
          text run at (5,77) width 467: "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 161x17
                RenderText {#text} at (4,4) size 161x17
                  text run at (4,4) width 161: "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 175: "This is text within the DIV. "
                  text run at (373,5) width 137: "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 332: "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 151: "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 716x53
                  text run at (20,5) width 175: "This is text within the DIV. "
                  text run at (194,5) width 503: "The floating images within this DIV should not go beyond the left or right inner"
                  text run at (20,23) width 701: "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 71: "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 35: "DIV. "
                  text run at (233,77) width 181: "The floating elements within"
                  text run at (199,95) width 219: "this DIV should not go beyond the"
                  text run at (199,113) width 218: "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 110: "DIV in any way. "
                  text run at (114,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 102: "within the DIV. "
                  text run at (262,41) width 78: "The floating"
                  text run at (161,59) width 193: "images within this DIV should"
                  text run at (5,77) width 336: "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 61: "any way. "
                  text run at (65,131) width 258: "In addition, they should not overlap each"
                  text run at (5,149) width 40: "other. "
                  text run at (44,149) width 308: "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 98: "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 74: "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 110: "DIV in any way. "
                  text run at (114,219) width 174: "In addition, they should not"
                  text run at (5,237) width 287: "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 35: "DIV. "
                  text run at (295,23) width 78: "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 379: "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 271: "top or side borders of the DIV in any way. "
                  text run at (275,113) width 104: "In addition, they"
                  text run at (5,131) width 357: "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 (312,149) width 73: "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 531x107
                  text run at (199,5) width 175: "This is text within the DIV. "
                  text run at (373,5) width 137: "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 337: "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 133: "the DIV in any way. "
                  text run at (331,77) width 189: "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 722x53
                  text run at (20,5) width 175: "This is text within the DIV. "
                  text run at (194,5) width 524: "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 61: "any way. "
                  text run at (65,41) width 662: "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 183x17
                  text run at (199,5) width 175: "This is text within the DIV. "
                  text run at (373,5) width 9: "*"
                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 (381,5) size 516x35
                  text run at (381,5) width 334: " 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 538x89
                  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 411: "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 183x17
                  text run at (20,5) width 175: "This is text within the DIV. "
                  text run at (194,5) width 9: "*"
                RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (202,5) size 686x35
                  text run at (202,5) width 504: " 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 607: "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 183x17
                  text run at (199,5) width 175: "This is text within the DIV. "
                  text run at (373,5) width 9: "*"
                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 (381,5) size 516x35
                  text run at (381,5) width 334: " 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 491: "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 183x17
                  text run at (20,5) width 175: "This is text within the DIV. "
                  text run at (194,5) width 9: "*"
                RenderImage {IMG} at (5,5) size 15x36 [border: (3px solid #000000)]
                RenderText {#text} at (202,5) size 671x35
                  text run at (202,5) width 504: " 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 611: " 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 475x269
                  text run at (199,23) width 90: "text within the"
                  text run at (199,41) width 35: "DIV. "
                  text run at (233,41) width 41: "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 475: "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 443: "Similarly, the right floating element should be placed in the upper right"
                  text run at (5,149) width 466: "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 133: " text within the DIV. "
                  text run at (218,5) width 227: "Under CSS1, the left floating image"
                  text run at (20,23) width 422: "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 476: "Similarly, the right floating image should be placed in the upper right corner"
                  text run at (5,77) width 467: "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)]
