layer at (0,0) size 785x2786
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x2786
  RenderBlock {HTML} at (0,0) size 785x2786
    RenderBody {BODY} at (8,8) size 769x2770 [bgcolor=#CCCCCC]
      RenderBlock (floating) {P} at (0,0) size 385x36 [bgcolor=#FFFF00]
        RenderText {#text} at (0,0) size 385x36
          text run at (0,0) width 385: "This paragraph is of class \"one\". It has a width of 50% and"
          text run at (0,18) width 128: "is floated to the left."
      RenderBlock {P} at (0,0) size 769x90
        RenderText {#text} at (384,0) size 769x90
          text run at (384,0) width 385: "This paragraph should start on the right side of a yellow"
          text run at (384,18) width 385: "box which contains the previous paragraph. Since the text"
          text run at (0,36) width 769: "of this element is much longer than the text in the previous element, the text will wrap around the yellow box. There is"
          text run at (0,54) width 769: "no padding, border or margins on this and the previous element, so the text of the two elements should be very close to"
          text run at (0,72) width 70: "each other."
      RenderBlock (anonymous) at (0,90) size 769x18
        RenderBR {BR} at (0,0) size 0x18
      RenderBlock {HR} at (0,116) size 769x2 [border: (1px inset #000000)]
      RenderBlock (floating) {P} at (0,126) size 769x72 [bgcolor=#FFFF00]
        RenderText {#text} at (0,0) size 769x72
          text run at (0,0) width 769: "This paragraph is of class \"two\". Since the width has been set to 100%, it should automatically be as wide as its parent"
          text run at (0,18) width 769: "element allows it to be. Therefore, even though the element is floated, there is no room for other content on the sides"
          text run at (0,36) width 769: "and a orange square image should be seen AFTER the paragraph, not next to it. A yellow background has been added to"
          text run at (0,54) width 249: "this paragraph for diagnostic purposes."
      RenderBlock (anonymous) at (0,126) size 769x91
        RenderImage {IMG} at (0,72) size 15x15
        RenderText {#text} at (15,73) size 4x18
          text run at (15,73) width 4: " "
        RenderBR {BR} at (19,87) size 0x0
      RenderBlock {HR} at (0,225) size 769x2 [border: (1px inset #000000)]
      RenderBlock (floating) {P} at (0,235) size 385x108 [bgcolor=#FFFF00]
        RenderText {#text} at (0,0) size 385x108
          text run at (0,0) width 385: "This paragraph is floated to the left and the orange square"
          text run at (0,18) width 385: "image should appear to the right of the paragraph. This"
          text run at (0,36) width 385: "paragraph has a yellow background and no padding, margin"
          text run at (0,54) width 385: "or border. The right edge of this yellow box should be"
          text run at (0,72) width 385: "horizontally aligned with the left edge of the yellow box"
          text run at (0,90) width 81: "undernearth."
      RenderBlock (anonymous) at (0,235) size 769x108
        RenderImage {IMG} at (384,0) size 16x15
        RenderText {#text} at (399,1) size 5x18
          text run at (399,1) width 5: " "
        RenderBR {BR} at (403,15) size 1x0
      RenderBlock {HR} at (0,351) size 769x2 [border: (1px inset #000000)]
      RenderBlock (floating) {P} at (384,361) size 385x108 [bgcolor=#FFFF00]
        RenderText {#text} at (0,0) size 385x108
          text run at (0,0) width 385: "This paragraph is floated to the right (using a STYLE"
          text run at (0,18) width 385: "attribute) and the orange square image should appear to the"
          text run at (0,36) width 385: "left of the paragraph. This paragraph has a yellow"
          text run at (0,54) width 385: "background and no padding, margin or border. The left"
          text run at (0,72) width 385: "edge of this yellow box should be horizonally aligned with"
          text run at (0,90) width 251: "the right edge of the yellow box above."
      RenderBlock (anonymous) at (0,361) size 769x108
        RenderImage {IMG} at (0,0) size 15x15
        RenderText {#text} at (15,1) size 4x18
          text run at (15,1) width 4: " "
        RenderBR {BR} at (19,15) size 0x0
      RenderBlock {HR} at (0,477) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,487) size 769x72
        RenderBlock (floating) {SPAN} at (0,0) size 48x37 [bgcolor=#C0C0C0]
          RenderText {#text} at (0,0) size 22x37
            text run at (0,0) width 22: "T"
        RenderText {#text} at (48,0) size 769x72
          text run at (48,0) width 721: "he first letter (a \"T\") of this paragraph should float left and be twice the font-size of the rest of the paragraph, as"
          text run at (48,18) width 530: "well as bold, with a content width of 1.5em and a background-color of silver. "
          text run at (577,18) width 192: "The top of the big letter \"T\""
          text run at (48,36) width 721: "should be vertically aligned with the top of the first line of this paragraph. This is commonly known as \"drop-"
          text run at (0,54) width 33: "cap\"."
      RenderBlock (anonymous) at (0,559) size 769x18
        RenderBR {BR} at (0,0) size 0x18
      RenderBlock {HR} at (0,585) size 769x2 [border: (1px inset #000000)]
      RenderBlock (floating) {P} at (423,605) size 336x214 [bgcolor=#FFFF00] [border: (3px solid #FF0000)]
        RenderText {#text} at (8,8) size 320x198
          text run at (8,8) width 320: "This paragraph should be floated to the right, sort"
          text run at (8,26) width 320: "of like a 'sidebar' in a magazine article. Its width"
          text run at (8,44) width 320: "is 20em so the box should not be reformatted"
          text run at (8,62) width 320: "when the size of the viewport is changed (e.g."
          text run at (8,80) width 320: "when the window is resized). The background"
          text run at (8,98) width 320: "color of the element is yellow, and there should"
          text run at (8,116) width 320: "be a 3px solid red border outside a 5px wide"
          text run at (8,134) width 320: "padding. Also, the element has a 10px wide"
          text run at (8,152) width 320: "margin around it where the blue background of"
          text run at (8,170) width 320: "the paragraph in the normal flow should shine"
          text run at (8,188) width 54: "through."
      RenderBlock {P} at (0,595) size 769x216 [bgcolor=#66CCFF]
        RenderText {#text} at (0,0) size 413x216
          text run at (0,0) width 413: "This paragraph is not floating. If there is enough room, the"
          text run at (0,18) width 413: "textual content of the paragraph should appear on the left side of"
          text run at (0,36) width 230: "the yellow \"sidebar\" on the right. "
          text run at (229,36) width 184: "The content of this element"
          text run at (0,54) width 275: "should flow around the floated element. "
          text run at (274,54) width 139: "However, the floated"
          text run at (0,72) width 413: "element may or may not be obscured by the blue background of"
          text run at (0,90) width 413: "this element, as the specification does not say which is drawn"
          text run at (0,108) width 65: "\"on top.\" "
          text run at (64,108) width 349: "Even if the floated element is obscured, it still forces"
          text run at (0,126) width 324: "the content of this element to flow around it. "
          text run at (323,126) width 90: "If the floated"
          text run at (0,144) width 413: "element is not obscured, then the blue rectangle of this"
          text run at (0,162) width 413: "paragraph should extend 10px above and to the right of the"
          text run at (0,180) width 413: "sidebar's red border, due to the margin styles set for the floated"
          text run at (0,198) width 55: "element."
      RenderBlock (anonymous) at (0,811) size 769x18
        RenderBR {BR} at (0,0) size 0x18
      RenderBlock {HR} at (0,837) size 769x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (0,847) size 769x26 [bgcolor=#66CCFF] [border: (4px solid #FF0000)]
        RenderBlock (floating) {DIV} at (425,14) size 330x244 [bgcolor=#FFFF00]
          RenderBlock {P} at (5,5) size 320x234
            RenderText {#text} at (0,0) size 320x234
              text run at (0,0) width 320: "This paragraph is placed inside a DIV element"
              text run at (0,18) width 320: "which is floated to the right. The width of the"
              text run at (0,36) width 320: "DIV element is 20em. The background is yellow"
              text run at (0,54) width 320: "and there is a 5px padding, a 10px margin and no"
              text run at (0,72) width 320: "border. Since it is floated, the yellow box should"
              text run at (0,90) width 320: "be rendered on top of the background and borders"
              text run at (0,108) width 320: "of adjacent non-floated elements. To the left of"
              text run at (0,126) width 320: "this yellow box there should be a short paragraph"
              text run at (0,144) width 320: "with a blue background and a red border. The"
              text run at (0,162) width 320: "yellow box should be rendered on top of the"
              text run at (0,180) width 320: "bottom red border. I.e., the bottom red border will"
              text run at (0,198) width 320: "appear broken where it's overlaid by the yellow"
              text run at (0,216) width 63: "rectangle."
        RenderBlock {P} at (4,4) size 761x18
          RenderText {#text} at (0,0) size 274x18
            text run at (0,0) width 274: "See description in the box on the right side"
      RenderBlock (anonymous) at (0,873) size 769x242
        RenderBR {BR} at (0,0) size 0x18
      RenderBlock {HR} at (0,1123) size 769x2 [border: (1px inset #000000)]
      RenderBlock (floating) {DIV} at (0,1133) size 193x72 [bgcolor=#66CCFF]
        RenderBlock {P} at (0,0) size 193x72
          RenderText {#text} at (0,0) size 193x72
            text run at (0,0) width 193: "This paragraph is inside a"
            text run at (0,18) width 193: "DIV which is floated left. Its"
            text run at (0,36) width 193: "background is blue and the"
            text run at (0,54) width 89: "width is 25%."
      RenderBlock (floating) {DIV} at (576,1133) size 193x72 [bgcolor=#FFFF00]
        RenderBlock {P} at (0,0) size 193x72
          RenderText {#text} at (0,0) size 193x72
            text run at (0,0) width 193: "This paragraph is inside a"
            text run at (0,18) width 193: "DIV which is floated right. Its"
            text run at (0,36) width 193: "background is yellow and the"
            text run at (0,54) width 89: "width is 25%."
      RenderBlock {P} at (0,1133) size 769x36
        RenderText {#text} at (192,0) size 385x36
          text run at (192,0) width 385: "This paragraph should appear between a blue box (on the"
          text run at (192,18) width 31: "left) "
          text run at (222,18) width 204: "and a yellow box (on the right)."
      RenderBlock (anonymous) at (0,1169) size 769x36
        RenderBR {BR} at (192,0) size 1x18
      RenderBlock {HR} at (0,1213) size 769x2 [border: (1px inset #000000)]
      RenderBlock (floating) {DIV} at (0,1223) size 577x126 [bgcolor=#66CCFF]
        RenderBlock (floating) {DIV} at (422,0) size 145x36 [bgcolor=#FFFF00]
          RenderBlock {P} at (0,0) size 145x36
            RenderText {#text} at (0,0) size 145x36
              text run at (0,0) width 145: "See description in the"
              text run at (0,18) width 127: "box on the left side."
        RenderBlock {P} at (0,0) size 577x126
          RenderText {#text} at (0,0) size 577x126
            text run at (0,0) width 423: "This paragraph is inside a DIV which is floated left. The"
            text run at (0,18) width 423: "background of the DIV element is blue and its width is 75%. This"
            text run at (0,36) width 407: "text should all be inside the blue rectangle. The blue DIV "
            text run at (406,36) width 171: "element has another DIV"
            text run at (0,54) width 225: "element as a child. It has a yellow "
            text run at (224,54) width 353: "background color and is floated to the right. Since it is"
            text run at (0,72) width 12: "a "
            text run at (11,72) width 411: "child of the blue DIV, the yellow DIV should appear inside the "
            text run at (421,72) width 156: "blue rectangle. Due to it"
            text run at (0,90) width 237: "being floated to the right and having "
            text run at (236,90) width 341: "a 10px right margin, the yellow rectange should have"
            text run at (0,108) width 79: "a 10px blue "
            text run at (78,108) width 144: "stripe on its right side."
      RenderBlock (anonymous) at (0,1223) size 769x126
        RenderBR {BR} at (576,0) size 1x18
      RenderBlock {HR} at (0,1357) size 769x2 [border: (1px inset #000000)]
      RenderTable {TABLE} at (0,1367) size 769x1403 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x1401
          RenderTableRow {TR} at (0,0) size 767x26
            RenderTableCell {TD} at (0,0) size 767x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 161x18
                RenderText {#text} at (4,4) size 161x18
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x1375
            RenderTableCell {TD} at (0,700) size 12x27 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x19
                text run at (4,5) width 4: " "
            RenderTableCell {TD} at (12,26) size 755x1375 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock (floating) {P} at (4,4) size 374x36 [bgcolor=#FFFF00]
                RenderText {#text} at (0,0) size 374x36
                  text run at (0,0) width 374: "This paragraph is of class \"one\". It has a width of 50%"
                  text run at (0,18) width 155: "and is floated to the left."
              RenderBlock {P} at (4,4) size 747x90
                RenderText {#text} at (373,0) size 747x90
                  text run at (373,0) width 374: "This paragraph should start on the right side of a yellow"
                  text run at (373,18) width 374: "box which contains the previous paragraph. Since the text"
                  text run at (0,36) width 747: "of this element is much longer than the text in the previous element, the text will wrap around the yellow box. There"
                  text run at (0,54) width 747: "is no padding, border or margins on this and the previous element, so the text of the two elements should be very"
                  text run at (0,72) width 123: "close to each other."
              RenderBlock (anonymous) at (4,94) size 747x18
                RenderBR {BR} at (0,0) size 0x18
              RenderBlock {HR} at (4,120) size 747x2 [border: (1px inset #000000)]
              RenderBlock (floating) {P} at (4,130) size 747x72 [bgcolor=#FFFF00]
                RenderText {#text} at (0,0) size 747x72
                  text run at (0,0) width 747: "This paragraph is of class \"two\". Since the width has been set to 100%, it should automatically be as wide as its"
                  text run at (0,18) width 747: "parent element allows it to be. Therefore, even though the element is floated, there is no room for other content on"
                  text run at (0,36) width 747: "the sides and a orange square image should be seen AFTER the paragraph, not next to it. A yellow background has"
                  text run at (0,54) width 342: "been added to this paragraph for diagnostic purposes."
              RenderBlock (anonymous) at (4,130) size 747x91
                RenderImage {IMG} at (0,72) size 15x15
                RenderText {#text} at (15,73) size 4x18
                  text run at (15,73) width 4: " "
                RenderBR {BR} at (19,87) size 0x0
              RenderBlock {HR} at (4,229) size 747x2 [border: (1px inset #000000)]
              RenderBlock (floating) {P} at (4,239) size 374x108 [bgcolor=#FFFF00]
                RenderText {#text} at (0,0) size 374x108
                  text run at (0,0) width 374: "This paragraph is floated to the left and the orange square"
                  text run at (0,18) width 374: "image should appear to the right of the paragraph. This"
                  text run at (0,36) width 374: "paragraph has a yellow background and no padding,"
                  text run at (0,54) width 374: "margin or border. The right edge of this yellow box"
                  text run at (0,72) width 374: "should be horizontally aligned with the left edge of the"
                  text run at (0,90) width 156: "yellow box undernearth."
              RenderBlock (anonymous) at (4,239) size 747x108
                RenderImage {IMG} at (373,0) size 16x15
                RenderText {#text} at (388,1) size 5x18
                  text run at (388,1) width 5: " "
                RenderBR {BR} at (392,15) size 1x0
              RenderBlock {HR} at (4,355) size 747x2 [border: (1px inset #000000)]
              RenderBlock (floating) {P} at (377,365) size 374x108 [bgcolor=#FFFF00]
                RenderText {#text} at (0,0) size 374x108
                  text run at (0,0) width 374: "This paragraph is floated to the right (using a STYLE"
                  text run at (0,18) width 374: "attribute) and the orange square image should appear to"
                  text run at (0,36) width 374: "the left of the paragraph. This paragraph has a yellow"
                  text run at (0,54) width 374: "background and no padding, margin or border. The left"
                  text run at (0,72) width 374: "edge of this yellow box should be horizonally aligned"
                  text run at (0,90) width 284: "with the right edge of the yellow box above."
              RenderBlock (anonymous) at (4,365) size 747x108
                RenderImage {IMG} at (0,0) size 15x15
                RenderText {#text} at (15,1) size 4x18
                  text run at (15,1) width 4: " "
                RenderBR {BR} at (19,15) size 0x0
              RenderBlock {HR} at (4,481) size 747x2 [border: (1px inset #000000)]
              RenderBlock {P} at (4,491) size 747x72
                RenderBlock (floating) {SPAN} at (0,0) size 48x37 [bgcolor=#C0C0C0]
                  RenderText {#text} at (0,0) size 22x37
                    text run at (0,0) width 22: "T"
                RenderText {#text} at (48,0) size 747x72
                  text run at (48,0) width 699: "he first letter (a \"T\") of this paragraph should float left and be twice the font-size of the rest of the paragraph,"
                  text run at (48,18) width 519: "as well as bold, with a content width of 1.5em and a background-color of silver. "
                  text run at (566,18) width 181: "The top of the big letter \"T\""
                  text run at (48,36) width 699: "should be vertically aligned with the top of the first line of this paragraph. This is commonly known as"
                  text run at (0,54) width 74: "\"drop-cap\"."
              RenderBlock (anonymous) at (4,563) size 747x18
                RenderBR {BR} at (0,0) size 0x18
              RenderBlock {HR} at (4,589) size 747x2 [border: (1px inset #000000)]
              RenderBlock (floating) {P} at (405,609) size 336x214 [bgcolor=#FFFF00] [border: (3px solid #FF0000)]
                RenderText {#text} at (8,8) size 320x198
                  text run at (8,8) width 320: "This paragraph should be floated to the right, sort"
                  text run at (8,26) width 320: "of like a 'sidebar' in a magazine article. Its width"
                  text run at (8,44) width 320: "is 20em so the box should not be reformatted"
                  text run at (8,62) width 320: "when the size of the viewport is changed (e.g."
                  text run at (8,80) width 320: "when the window is resized). The background"
                  text run at (8,98) width 320: "color of the element is yellow, and there should"
                  text run at (8,116) width 320: "be a 3px solid red border outside a 5px wide"
                  text run at (8,134) width 320: "padding. Also, the element has a 10px wide"
                  text run at (8,152) width 320: "margin around it where the blue background of"
                  text run at (8,170) width 320: "the paragraph in the normal flow should shine"
                  text run at (8,188) width 54: "through."
              RenderBlock {P} at (4,599) size 747x216 [bgcolor=#66CCFF]
                RenderText {#text} at (0,0) size 391x216
                  text run at (0,0) width 391: "This paragraph is not floating. If there is enough room, the"
                  text run at (0,18) width 391: "textual content of the paragraph should appear on the left"
                  text run at (0,36) width 269: "side of the yellow \"sidebar\" on the right. "
                  text run at (268,36) width 123: "The content of this"
                  text run at (0,54) width 329: "element should flow around the floated element. "
                  text run at (328,54) width 63: "However,"
                  text run at (0,72) width 391: "the floated element may or may not be obscured by the blue"
                  text run at (0,90) width 391: "background of this element, as the specification does not say"
                  text run at (0,108) width 184: "which is drawn \"on top.\" "
                  text run at (183,108) width 208: "Even if the floated element is"
                  text run at (0,126) width 391: "obscured, it still forces the content of this element to flow"
                  text run at (0,144) width 72: "around it. "
                  text run at (71,144) width 320: "If the floated element is not obscured, then the"
                  text run at (0,162) width 391: "blue rectangle of this paragraph should extend 10px above"
                  text run at (0,180) width 391: "and to the right of the sidebar's red border, due to the margin"
                  text run at (0,198) width 211: "styles set for the floated element."
              RenderBlock (anonymous) at (4,815) size 747x18
                RenderBR {BR} at (0,0) size 0x18
              RenderBlock {HR} at (4,841) size 747x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (4,851) size 747x26 [bgcolor=#66CCFF] [border: (4px solid #FF0000)]
                RenderBlock (floating) {DIV} at (403,14) size 330x244 [bgcolor=#FFFF00]
                  RenderBlock {P} at (5,5) size 320x234
                    RenderText {#text} at (0,0) size 320x234
                      text run at (0,0) width 320: "This paragraph is placed inside a DIV element"
                      text run at (0,18) width 320: "which is floated to the right. The width of the"
                      text run at (0,36) width 320: "DIV element is 20em. The background is yellow"
                      text run at (0,54) width 320: "and there is a 5px padding, a 10px margin and no"
                      text run at (0,72) width 320: "border. Since it is floated, the yellow box should"
                      text run at (0,90) width 320: "be rendered on top of the background and borders"
                      text run at (0,108) width 320: "of adjacent non-floated elements. To the left of"
                      text run at (0,126) width 320: "this yellow box there should be a short paragraph"
                      text run at (0,144) width 320: "with a blue background and a red border. The"
                      text run at (0,162) width 320: "yellow box should be rendered on top of the"
                      text run at (0,180) width 320: "bottom red border. I.e., the bottom red border will"
                      text run at (0,198) width 320: "appear broken where it's overlaid by the yellow"
                      text run at (0,216) width 63: "rectangle."
                RenderBlock {P} at (4,4) size 739x18
                  RenderText {#text} at (0,0) size 274x18
                    text run at (0,0) width 274: "See description in the box on the right side"
              RenderBlock (anonymous) at (4,877) size 747x242
                RenderBR {BR} at (0,0) size 0x18
              RenderBlock {HR} at (4,1127) size 747x2 [border: (1px inset #000000)]
              RenderBlock (floating) {DIV} at (4,1137) size 187x72 [bgcolor=#66CCFF]
                RenderBlock {P} at (0,0) size 187x72
                  RenderText {#text} at (0,0) size 187x72
                    text run at (0,0) width 187: "This paragraph is inside a"
                    text run at (0,18) width 187: "DIV which is floated left. Its"
                    text run at (0,36) width 187: "background is blue and the"
                    text run at (0,54) width 89: "width is 25%."
              RenderBlock (floating) {DIV} at (564,1137) size 187x72 [bgcolor=#FFFF00]
                RenderBlock {P} at (0,0) size 187x72
                  RenderText {#text} at (0,0) size 187x72
                    text run at (0,0) width 187: "This paragraph is inside a"
                    text run at (0,18) width 187: "DIV which is floated right."
                    text run at (0,36) width 21: "Its "
                    text run at (20,36) width 167: "background is yellow and"
                    text run at (0,54) width 112: "the width is 25%."
              RenderBlock {P} at (4,1137) size 747x36
                RenderText {#text} at (186,0) size 375x36
                  text run at (186,0) width 375: "This paragraph should appear between a blue box (on the"
                  text run at (186,18) width 32: "left) "
                  text run at (217,18) width 203: "and a yellow box (on the right)."
              RenderBlock (anonymous) at (4,1173) size 747x36
                RenderBR {BR} at (186,0) size 1x18
              RenderBlock {HR} at (4,1217) size 747x2 [border: (1px inset #000000)]
              RenderBlock (floating) {DIV} at (4,1227) size 561x126 [bgcolor=#66CCFF]
                RenderBlock (floating) {DIV} at (410,0) size 141x36 [bgcolor=#FFFF00]
                  RenderBlock {P} at (0,0) size 141x36
                    RenderText {#text} at (0,0) size 141x36
                      text run at (0,0) width 141: "See description in the"
                      text run at (0,18) width 127: "box on the left side."
                RenderBlock {P} at (0,0) size 561x126
                  RenderText {#text} at (0,0) size 561x126
                    text run at (0,0) width 411: "This paragraph is inside a DIV which is floated left. The"
                    text run at (0,18) width 411: "background of the DIV element is blue and its width is 75%."
                    text run at (0,36) width 35: "This "
                    text run at (34,36) width 395: "text should all be inside the blue rectangle. The blue DIV "
                    text run at (428,36) width 133: "element has another"
                    text run at (0,54) width 269: "DIV element as a child. It has a yellow "
                    text run at (268,54) width 293: "background color and is floated to the right."
                    text run at (0,72) width 91: "Since it is a "
                    text run at (90,72) width 443: "child of the blue DIV, the yellow DIV should appear inside the "
                    text run at (532,72) width 29: "blue"
                    text run at (0,90) width 395: "rectangle. Due to it being floated to the right and having "
                    text run at (394,90) width 167: "a 10px right margin, the"
                    text run at (0,108) width 266: "yellow rectange should have a 10px blue "
                    text run at (265,108) width 143: "stripe on its right side."
              RenderBlock (anonymous) at (4,1227) size 747x126
                RenderBR {BR} at (560,0) size 1x18
              RenderBlock {HR} at (4,1361) size 747x2 [border: (1px inset #000000)]
