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 784x20 [bgcolor=#008000]
        RenderText {#text} at (0,0) size 337x19
          text run at (0,0) width 337: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 784x64
        RenderText {#text} at (0,0) size 296x64
          text run at (0,0) width 224: "P {background-color: green;}"
          text run at (224,0) width 0: " "
          text run at (0,16) width 240: ".one {background-color: lime;}"
          text run at (240,16) width 0: " "
          text run at (0,32) width 296: ".two {background-color: transparent;}"
          text run at (296,32) width 0: " "
          text run at (0,48) width 0: " "
      RenderBlock {HR} at (0,113) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,131) size 784x20 [bgcolor=#008000]
        RenderText {#text} at (0,0) size 263x19
          text run at (0,0) width 263: "This element's background should be green."
      RenderBlock {P} at (0,167) size 784x20 [bgcolor=#00FF00]
        RenderText {#text} at (0,0) size 329x19
          text run at (0,0) width 329: "This element's background should be lime (light green)."
      RenderBlock {P} at (0,203) size 784x60 [bgcolor=#008000]
        RenderText {#text} at (0,0) size 620x19
          text run at (0,0) width 620: "This element's background should be green, and the last word in this sentence should also have a green "
        RenderInline {SPAN} at (0,0) size 72x19
          RenderText {#text} at (620,0) size 72x19
            text run at (620,0) width 72: "background"
        RenderText {#text} at (692,0) size 779x59
          text run at (692,0) width 8: ". "
          text run at (700,0) width 38: "This is"
          text run at (0,20) width 779: "because the background color of the parent element (the paragraph) should \"shine through\" the SPANned word \"sentence,\" which"
          text run at (0,40) width 65: "was set to "
        RenderInline {CODE} at (0,0) size 88x16
          RenderText {#text} at (65,43) size 88x16
            text run at (65,43) width 88: "transparent"
        RenderText {#text} at (153,40) size 377x19
          text run at (153,40) width 8: ". "
          text run at (161,40) width 369: "If the document background is visible, the browser is in error."
      RenderBlock {P} at (0,279) size 784x20
        RenderText {#text} at (0,0) size 702x19
          text run at (0,0) width 432: "This element should allow the document background to \"shine through.\" "
          text run at (432,0) width 270: "There should be no green backgrounds here!"
      RenderTable {TABLE} at (0,315) size 784x206 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x204
          RenderTableRow {TR} at (0,0) size 782x28
            RenderTableCell {TD} at (0,0) size 782x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 159x19
                RenderText {#text} at (4,4) size 159x19
                  text run at (4,4) width 159: "TABLE Testing Section"
          RenderTableRow {TR} at (0,28) size 782x176
            RenderTableCell {TD} at (0,102) size 12x28 [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,4) width 4: " "
            RenderTableCell {TD} at (12,28) size 770x176 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 762x20 [bgcolor=#008000]
                RenderText {#text} at (0,0) size 263x19
                  text run at (0,0) width 263: "This element's background should be green."
              RenderBlock {P} at (4,40) size 762x20 [bgcolor=#00FF00]
                RenderText {#text} at (0,0) size 329x19
                  text run at (0,0) width 329: "This element's background should be lime (light green)."
              RenderBlock {P} at (4,76) size 762x60 [bgcolor=#008000]
                RenderText {#text} at (0,0) size 620x19
                  text run at (0,0) width 620: "This element's background should be green, and the last word in this sentence should also have a green "
                RenderInline {SPAN} at (0,0) size 72x19
                  RenderText {#text} at (620,0) size 72x19
                    text run at (620,0) width 72: "background"
                RenderText {#text} at (692,0) size 740x59
                  text run at (692,0) width 8: ". "
                  text run at (700,0) width 38: "This is"
                  text run at (0,20) width 740: "because the background color of the parent element (the paragraph) should \"shine through\" the SPANned word \"sentence,\""
                  text run at (0,40) width 104: "which was set to "
                RenderInline {CODE} at (0,0) size 88x16
                  RenderText {#text} at (104,43) size 88x16
                    text run at (104,43) width 88: "transparent"
                RenderText {#text} at (192,40) size 377x19
                  text run at (192,40) width 8: ". "
                  text run at (200,40) width 369: "If the document background is visible, the browser is in error."
              RenderBlock {P} at (4,152) size 762x20
                RenderText {#text} at (0,0) size 702x19
                  text run at (0,0) width 432: "This element should allow the document background to \"shine through.\" "
                  text run at (432,0) width 270: "There should be no green backgrounds here!"
