layer at (0,0) size 785x1902
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1902
  RenderBlock {HTML} at (0,0) size 785x1902
    RenderBody {BODY} at (8,8) size 769x1886 [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 560x135
          text run at (0,0) width 344: "P.test {background: white; font-size: 20px;"
          text run at (0,15) width 560: "        margin-left: 30px; margin-right: 10px; padding: 0; border: 0;}"
          text run at (0,30) width 312: "IMG {padding: 0; border: 0; margin: 0;}"
          text run at (0,45) width 200: "P.test IMG {float: left;}"
          text run at (0,60) width 352: "#img2 {margin-top: 30px; margin-left: 30px;}"
          text run at (0,75) width 368: "#img3 {margin-top: -30px; margin-left: -30px;}"
          text run at (0,90) width 384: "#img4 {margin-right: 30px; margin-bottom: 30px;}"
          text run at (0,105) width 400: "#img5 {margin-right: -30px; margin-bottom: -30px;}"
          text run at (0,120) width 0: " "
      RenderBlock {HR} at (0,182) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (30,204) size 729x92 [bgcolor=#FFFFFF]
        RenderText {#text} at (0,0) size 708x91
          text run at (0,0) width 663: "This paragraph should have a white background which extends to the edges of the"
          text run at (0,23) width 122: "element's box. "
          text run at (122,23) width 442: "There is no padding set on this paragraph whatsoever. "
          text run at (564,23) width 144: "If the background"
          text run at (0,46) width 702: "of the entire box is not white, this may cause problems with the following tests; at any"
          text run at (0,69) width 281: "rate, it must be taken into account."
      RenderBlock {P} at (30,316) size 729x115 [bgcolor=#FFFFFF]
        RenderImage {IMG} at (0,0) size 60x60
        RenderText {#text} at (60,0) size 719x114
          text run at (60,0) width 638: "The image in the upper left corner of this paragraph should be floated left, and"
          text run at (60,23) width 119: "nothing more. "
          text run at (179,23) width 540: "The edges of the white background should line up with the top and"
          text run at (60,46) width 196: "left edges of the image. "
          text run at (256,46) width 454: "This paragraph should have a white background, first of"
          text run at (0,69) width 428: "all, which extends to the edges of the element's box. "
          text run at (428,69) width 249: "There is no padding set on this"
          text run at (0,92) width 183: "paragraph whatsoever."
      RenderBlock {P} at (30,451) size 729x115 [bgcolor=#FFFFFF]
        RenderImage {IMG} at (30,30) size 60x60
        RenderText {#text} at (90,0) size 718x114
          text run at (90,0) width 615: "The image in the upper left corner of this paragraph should be pushed down"
          text run at (90,23) width 611: "and to the right 30 pixels each from the upper left corner of the paragraph's"
          text run at (90,46) width 404: "box, and displace the paragraph text accordingly. "
          text run at (494,46) width 224: "This paragraph should have"
          text run at (90,69) width 613: "a white background, first of all, which extends to the edges of the element's"
          text run at (0,92) width 40: "box. "
          text run at (40,92) width 437: "There is no padding set on this paragraph whatsoever."
      RenderBlock {P} at (30,586) size 729x115 [bgcolor=#FFFFFF]
        RenderImage {IMG} at (-30,-30) size 60x60
        RenderText {#text} at (30,0) size 721x114
          text run at (30,0) width 676: "The image in the upper left corner of this paragraph should be pushed up and to the"
          text run at (30,23) width 691: "left 30 pixels each from the upper left corner of the paragraph's box, thus causing the"
          text run at (0,46) width 633: "edges of the white background to align with the thick gray lines in the image. "
          text run at (633,46) width 36: "This"
          text run at (0,69) width 719: "paragraph should have a white background, first of all, which extends to the edges of the"
          text run at (0,92) width 122: "element's box. "
          text run at (122,92) width 437: "There is no padding set on this paragraph whatsoever."
      RenderBlock {P} at (30,721) size 729x138 [bgcolor=#FFFFFF]
        RenderImage {IMG} at (0,0) size 60x60
        RenderText {#text} at (90,0) size 728x137
          text run at (90,0) width 638: "The image in the upper left corner of this paragraph should be floated left, and"
          text run at (90,23) width 618: "the edges of the white background should line up with the top and left edges"
          text run at (90,46) width 112: "of the image. "
          text run at (202,46) width 504: "However, there should be 30 pixels of space between the right"
          text run at (90,69) width 524: "and bottom edges of the image and the paragraph text around it. "
          text run at (614,69) width 36: "This"
          text run at (0,92) width 719: "paragraph should have a white background, first of all, which extends to the edges of the"
          text run at (0,115) width 122: "element's box. "
          text run at (122,115) width 437: "There is no padding set on this paragraph whatsoever."
      RenderBlock {P} at (30,879) size 729x138 [bgcolor=#FFFFFF]
        RenderImage {IMG} at (0,0) size 60x60
        RenderText {#text} at (30,0) size 706x137
          text run at (30,0) width 668: "The image in the upper left corner of this paragraph should be floated left, and the"
          text run at (30,23) width 640: "edges of the white background should line up with the top and left edges of the"
          text run at (0,46) width 60: "image. "
          text run at (60,46) width 636: "However, the text should overlap the image's right and bottom sides, lining up"
          text run at (0,69) width 313: "with the thick gray lines in the image. "
          text run at (313,69) width 393: "This paragraph should have a white background,"
          text run at (0,92) width 489: "first of all, which extends to the edges of the element's box. "
          text run at (489,92) width 214: "There is no padding set on"
          text run at (0,115) width 218: "this paragraph whatsoever."
      RenderTable {TABLE} at (0,1037) size 769x849 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x847
          RenderTableRow {TR} at (0,0) size 767x26
            RenderTableCell {TD} at (0,0) size 767x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 163x17
                RenderText {#text} at (4,4) size 163x17
                  text run at (4,4) width 163: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x821
            RenderTableCell {TD} at (0,423) 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 755x821 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (34,4) size 707x92 [bgcolor=#FFFFFF]
                RenderText {#text} at (0,0) size 700x91
                  text run at (0,0) width 663: "This paragraph should have a white background which extends to the edges of the"
                  text run at (0,23) width 122: "element's box. "
                  text run at (122,23) width 442: "There is no padding set on this paragraph whatsoever. "
                  text run at (564,23) width 44: "If the"
                  text run at (0,46) width 700: "background of the entire box is not white, this may cause problems with the following"
                  text run at (0,69) width 383: "tests; at any rate, it must be taken into account."
              RenderBlock {P} at (34,116) size 707x115 [bgcolor=#FFFFFF]
                RenderImage {IMG} at (0,0) size 60x60
                RenderText {#text} at (60,0) size 703x114
                  text run at (60,0) width 638: "The image in the upper left corner of this paragraph should be floated left, and"
                  text run at (60,23) width 119: "nothing more. "
                  text run at (179,23) width 506: "The edges of the white background should line up with the top"
                  text run at (60,46) width 230: "and left edges of the image. "
                  text run at (290,46) width 393: "This paragraph should have a white background,"
                  text run at (0,69) width 489: "first of all, which extends to the edges of the element's box. "
                  text run at (489,69) width 214: "There is no padding set on"
                  text run at (0,92) width 218: "this paragraph whatsoever."
              RenderBlock {P} at (34,251) size 707x115 [bgcolor=#FFFFFF]
                RenderImage {IMG} at (30,30) size 60x60
                RenderText {#text} at (90,0) size 705x114
                  text run at (90,0) width 615: "The image in the upper left corner of this paragraph should be pushed down"
                  text run at (90,23) width 611: "and to the right 30 pixels each from the upper left corner of the paragraph's"
                  text run at (90,46) width 404: "box, and displace the paragraph text accordingly. "
                  text run at (494,46) width 181: "This paragraph should"
                  text run at (90,69) width 574: "have a white background, first of all, which extends to the edges of the"
                  text run at (0,92) width 122: "element's box. "
                  text run at (122,92) width 437: "There is no padding set on this paragraph whatsoever."
              RenderBlock {P} at (34,386) size 707x115 [bgcolor=#FFFFFF]
                RenderImage {IMG} at (-30,-30) size 60x60
                RenderText {#text} at (30,0) size 706x114
                  text run at (30,0) width 676: "The image in the upper left corner of this paragraph should be pushed up and to the"
                  text run at (30,23) width 661: "left 30 pixels each from the upper left corner of the paragraph's box, thus causing"
                  text run at (0,46) width 663: "the edges of the white background to align with the thick gray lines in the image. "
                  text run at (663,46) width 36: "This"
                  text run at (0,69) width 689: "paragraph should have a white background, first of all, which extends to the edges of"
                  text run at (0,92) width 152: "the element's box. "
                  text run at (152,92) width 437: "There is no padding set on this paragraph whatsoever."
              RenderBlock {P} at (34,521) size 707x138 [bgcolor=#FFFFFF]
                RenderImage {IMG} at (0,0) size 60x60
                RenderText {#text} at (90,0) size 694x137
                  text run at (90,0) width 604: "The image in the upper left corner of this paragraph should be floated left,"
                  text run at (90,23) width 601: "and the edges of the white background should line up with the top and left"
                  text run at (90,46) width 163: "edges of the image. "
                  text run at (253,46) width 430: "However, there should be 30 pixels of space between"
                  text run at (90,69) width 593: "the right and bottom edges of the image and the paragraph text around it."
                  text run at (0,92) width 657: "This paragraph should have a white background, first of all, which extends to the"
                  text run at (0,115) width 225: "edges of the element's box. "
                  text run at (225,115) width 437: "There is no padding set on this paragraph whatsoever."
              RenderBlock {P} at (34,679) size 707x138 [bgcolor=#FFFFFF]
                RenderImage {IMG} at (0,0) size 60x60
                RenderText {#text} at (30,0) size 706x137
                  text run at (30,0) width 668: "The image in the upper left corner of this paragraph should be floated left, and the"
                  text run at (30,23) width 640: "edges of the white background should line up with the top and left edges of the"
                  text run at (0,46) width 60: "image. "
                  text run at (60,46) width 636: "However, the text should overlap the image's right and bottom sides, lining up"
                  text run at (0,69) width 313: "with the thick gray lines in the image. "
                  text run at (313,69) width 393: "This paragraph should have a white background,"
                  text run at (0,92) width 489: "first of all, which extends to the edges of the element's box. "
                  text run at (489,92) width 214: "There is no padding set on"
                  text run at (0,115) width 218: "this paragraph whatsoever."
