layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderBlock {HTML} at (0,0) size 800x600
    RenderBody {BODY} at (8,8) size 784x584 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 784x18
        RenderText {#text} at (0,0) size 355x18
          text run at (0,0) width 355: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 784x75
        RenderText {#text} at (0,0) size 504x75
          text run at (0,0) width 224: ".zero { background: yellow }"
          text run at (224,0) width 0: " "
          text run at (0,15) width 504: ".one { margin-left: 25%; margin-right: 25%; background: white }"
          text run at (504,15) width 0: " "
          text run at (0,30) width 496: ".two { margin-left: 50%; margin-right: 0%; background: white }"
          text run at (496,30) width 0: " "
          text run at (0,45) width 208: ".three {margin-left: 25%;}"
          text run at (208,45) width 0: " "
          text run at (0,60) width 0: " "
      RenderBlock {HR} at (0,122) size 784x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (0,140) size 784x124 [bgcolor=#FFFF00]
        RenderBlock {DIV} at (196,0) size 392x54 [bgcolor=#FFFFFF]
          RenderBlock {P} at (0,0) size 392x54
            RenderText {#text} at (0,0) size 326x54
              text run at (0,0) width 326: "This paragraph should be centered within its yellow"
              text run at (0,18) width 323: "containing block and its width should be half of the"
              text run at (0,36) width 109: "containing block."
        RenderBlock {DIV} at (392,70) size 392x54 [bgcolor=#FFFFFF]
          RenderBlock {P} at (0,0) size 392x54
            RenderText {#text} at (0,0) size 353x54
              text run at (0,0) width 353: "This paragraph should be right-aligned within its yellow"
              text run at (0,18) width 323: "containing block and its width should be half of the"
              text run at (0,36) width 109: "containing block."
      RenderBlock {P} at (196,280) size 588x36
        RenderText {#text} at (0,0) size 549x36
          text run at (0,0) width 549: "This paragraph should have a left margin of 25% the width of its parent element, which"
          text run at (0,18) width 357: "should require some extra text in order to test effectively."
      RenderTable {TABLE} at (0,332) size 784x212 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x210
          RenderTableRow {TR} at (0,0) size 782x26
            RenderTableCell {TD} at (0,0) size 782x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 163x18
                RenderText {#text} at (4,4) size 163x18
                  text run at (4,4) width 163: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 782x184
            RenderTableCell {TD} at (0,105) 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 770x184 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {DIV} at (4,4) size 762x124 [bgcolor=#FFFF00]
                RenderBlock {DIV} at (190,0) size 382x54 [bgcolor=#FFFFFF]
                  RenderBlock {P} at (0,0) size 381x54
                    RenderText {#text} at (0,0) size 326x54
                      text run at (0,0) width 326: "This paragraph should be centered within its yellow"
                      text run at (0,18) width 323: "containing block and its width should be half of the"
                      text run at (0,36) width 109: "containing block."
                RenderBlock {DIV} at (381,70) size 381x54 [bgcolor=#FFFFFF]
                  RenderBlock {P} at (0,0) size 381x54
                    RenderText {#text} at (0,0) size 353x54
                      text run at (0,0) width 353: "This paragraph should be right-aligned within its yellow"
                      text run at (0,18) width 323: "containing block and its width should be half of the"
                      text run at (0,36) width 109: "containing block."
              RenderBlock {P} at (194,144) size 572x36
                RenderText {#text} at (0,0) size 549x36
                  text run at (0,0) width 549: "This paragraph should have a left margin of 25% the width of its parent element, which"
                  text run at (0,18) width 357: "should require some extra text in order to test effectively."
