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,73) size 0x18
      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,1) size 1x18
      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,1) size 0x18
      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,3) size 4x20
                text run at (4,4) 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,73) size 0x18
              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,1) size 1x18
              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,1) size 0x18
              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)]
