layer at (0,0) size 785x1458
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1458
  RenderBlock {HTML} at (0,0) size 785x1458
    RenderBody {BODY} at (8,8) size 769x1442 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 363x18
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x255
        RenderText {#text} at (0,0) size 671x255
          text run at (0,0) width 632: "BODY {background-image: url(../resources/bg.gif); background-position: right top;"
          text run at (0,15) width 281: "      background-repeat: no-repeat;}"
          text run at (0,30) width 609: ".one {background-image: url(../resources/bg.gif); background-position: center;"
          text run at (0,45) width 469: "      background-repeat: no-repeat; background-color: aqua;}"
          text run at (0,60) width 617: ".two {background-image: url(../resources/bg.gif); background-position: 50% 50%;"
          text run at (0,75) width 469: "      background-repeat: no-repeat; background-color: aqua;}"
          text run at (0,90) width 671: ".three {background-image: url(../resources/bg.gif); background-position: bottom right;"
          text run at (0,105) width 484: "        background-repeat: no-repeat; background-color: aqua;}"
          text run at (0,120) width 640: ".four {background-image: url(../resources/bg.gif); background-position: 100% 100%;"
          text run at (0,135) width 476: "       background-repeat: no-repeat; background-color: aqua;}"
          text run at (0,150) width 617: ".five {background-image: url(../resources/bg.gif); background-position: 0% 50%;"
          text run at (0,165) width 476: "       background-repeat: no-repeat; background-color: aqua;}"
          text run at (0,180) width 617: ".six {background-image: url(../resources/bg.gif); background-position: 75% 25%;"
          text run at (0,195) width 476: "       background-repeat: no-repeat; background-color: aqua;}"
          text run at (0,210) width 648: ".seven {background-image: url(../resources/bg.gif); background-position: 20px 20px;"
          text run at (0,225) width 476: "       background-repeat: no-repeat; background-color: aqua;}"
          text run at (0,240) width 0: " "
      RenderBlock {HR} at (0,302) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,320) size 769x18
        RenderText {#text} at (0,0) size 514x18
          text run at (0,0) width 514: "This document should have a single, small green image in its upper right corner."
      RenderBlock {P} at (0,354) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 756x54
          text run at (0,0) width 753: "This paragraph should have a single, small green image exactly in its center; that is, the center of the image should be"
          text run at (0,18) width 232: "fixed at the center of the paragraph. "
          text run at (231,18) width 525: "The background color will make it easier to determine the edges of the paragraph,"
          text run at (0,36) width 295: "and therefore allow you to calculate its center."
      RenderBlock {P} at (0,424) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 756x54
          text run at (0,0) width 753: "This paragraph should have a single, small green image exactly in its center; that is, the center of the image should be"
          text run at (0,18) width 232: "fixed at the center of the paragraph. "
          text run at (231,18) width 525: "The background color will make it easier to determine the edges of the paragraph,"
          text run at (0,36) width 295: "and therefore allow you to calculate its center."
      RenderBlock {P} at (0,494) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 764x54
          text run at (0,0) width 748: "This paragraph should have a single, small green image in its lower-right corner; that is, the lower right corner of the"
          text run at (0,18) width 417: "image should be fixed at the lower right corner of the paragraph. "
          text run at (416,18) width 348: "The background color will make it easier to determine"
          text run at (0,36) width 445: "the edges of the paragraph, and therefore allow you to see its corners."
      RenderBlock {P} at (0,564) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 764x54
          text run at (0,0) width 748: "This paragraph should have a single, small green image in its lower-right corner; that is, the lower right corner of the"
          text run at (0,18) width 417: "image should be fixed at the lower right corner of the paragraph. "
          text run at (416,18) width 348: "The background color will make it easier to determine"
          text run at (0,36) width 445: "the edges of the paragraph, and therefore allow you to see its corners."
      RenderBlock {P} at (0,634) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 751x54
          text run at (0,0) width 741: "This paragraph should have a single, small green image exactly at the left center; that is, the left center of the image"
          text run at (0,18) width 323: "should be fixed at the left center of the paragraph. "
          text run at (322,18) width 429: "The background color will make it easier to determine the edges of"
          text run at (0,36) width 391: "the paragraph, and therefore allow you to calculate its center."
      RenderBlock {P} at (0,704) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 762x54
          text run at (0,0) width 762: "This paragraph should have a single, small green image positioned 75% of the way across the element, and 25% down."
          text run at (0,18) width 758: "The background color will make it easier to determine the edges of the paragraph, which should help in determining if"
          text run at (0,36) width 683: "all this is so, and the extra text should make the element long enough for this test to be simpler to evaluate."
      RenderBlock {P} at (0,774) size 769x72 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 769x72
          text run at (0,0) width 764: "This paragraph should have a single, small green image positioned 20 pixels down and to the left of the upper left-hand"
          text run at (0,18) width 759: "corner; that is, the upper left-hand corner of the image should be 20 pixels down and to the left of the upper-left corner"
          text run at (0,36) width 100: "of the element. "
          text run at (99,36) width 670: "The background color will make it easier to determine the edges of the paragraph, which should assist in"
          text run at (0,54) width 124: "evaluating this test."
      RenderTable {TABLE} at (0,862) size 769x580 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x578
          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 767x552
            RenderTableCell {TD} at (0,289) size 12x26 [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,4) width 4: " "
            RenderTableCell {TD} at (12,26) size 755x552 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x18
                RenderText {#text} at (0,0) size 514x18
                  text run at (0,0) width 514: "This document should have a single, small green image in its upper right corner."
              RenderBlock {P} at (4,38) size 747x54 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 734x54
                  text run at (0,0) width 734: "This paragraph should have a single, small green image exactly in its center; that is, the center of the image should"
                  text run at (0,18) width 251: "be fixed at the center of the paragraph. "
                  text run at (250,18) width 453: "The background color will make it easier to determine the edges of the"
                  text run at (0,36) width 367: "paragraph, and therefore allow you to calculate its center."
              RenderBlock {P} at (4,108) size 747x54 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 734x54
                  text run at (0,0) width 734: "This paragraph should have a single, small green image exactly in its center; that is, the center of the image should"
                  text run at (0,18) width 251: "be fixed at the center of the paragraph. "
                  text run at (250,18) width 453: "The background color will make it easier to determine the edges of the"
                  text run at (0,36) width 367: "paragraph, and therefore allow you to calculate its center."
              RenderBlock {P} at (4,178) size 747x54 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 724x54
                  text run at (0,0) width 724: "This paragraph should have a single, small green image in its lower-right corner; that is, the lower right corner of"
                  text run at (0,18) width 440: "the image should be fixed at the lower right corner of the paragraph. "
                  text run at (439,18) width 281: "The background color will make it easier to"
                  text run at (0,36) width 513: "determine the edges of the paragraph, and therefore allow you to see its corners."
              RenderBlock {P} at (4,248) size 747x54 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 724x54
                  text run at (0,0) width 724: "This paragraph should have a single, small green image in its lower-right corner; that is, the lower right corner of"
                  text run at (0,18) width 440: "the image should be fixed at the lower right corner of the paragraph. "
                  text run at (439,18) width 281: "The background color will make it easier to"
                  text run at (0,36) width 513: "determine the edges of the paragraph, and therefore allow you to see its corners."
              RenderBlock {P} at (4,318) size 747x54 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 741x54
                  text run at (0,0) width 741: "This paragraph should have a single, small green image exactly at the left center; that is, the left center of the image"
                  text run at (0,18) width 323: "should be fixed at the left center of the paragraph. "
                  text run at (322,18) width 412: "The background color will make it easier to determine the edges"
                  text run at (0,36) width 408: "of the paragraph, and therefore allow you to calculate its center."
              RenderBlock {P} at (4,388) size 747x72 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 719x72
                  text run at (0,0) width 719: "This paragraph should have a single, small green image positioned 75% of the way across the element, and 25%"
                  text run at (0,18) width 44: "down. "
                  text run at (43,18) width 663: "The background color will make it easier to determine the edges of the paragraph, which should help in"
                  text run at (0,36) width 717: "determining if all this is so, and the extra text should make the element long enough for this test to be simpler to"
                  text run at (0,54) width 58: "evaluate."
              RenderBlock {P} at (4,476) size 747x72 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 738x72
                  text run at (0,0) width 733: "This paragraph should have a single, small green image positioned 20 pixels down and to the left of the upper left-"
                  text run at (0,18) width 728: "hand corner; that is, the upper left-hand corner of the image should be 20 pixels down and to the left of the upper-"
                  text run at (0,36) width 170: "left corner of the element. "
                  text run at (169,36) width 569: "The background color will make it easier to determine the edges of the paragraph, which"
                  text run at (0,54) width 226: "should assist in evaluating this test."
