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
        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 392x64
          text run at (0,0) width 384: ".zero {background-color: silver; margin-top: 0;}"
          text run at (0,16) width 384: ".one {margin-top: 25px; background-color: aqua;}"
          text run at (0,32) width 392: ".two {margin-top: -10px; background-color: aqua;}"
          text run at (0,48) width 0: " "
      RenderBlock {HR} at (0,113) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,131) size 784x60 [bgcolor=#808080]
        RenderText {#text} at (0,0) size 453x19
          text run at (0,0) width 369: "This element is unstyled save for a background color of gray. "
          text run at (369,0) width 84: "It contains an "
        RenderInline {SPAN} at (0,0) size 714x39 [bgcolor=#00FFFF]
          RenderText {#text} at (453,0) size 133x19
            text run at (453,0) width 133: "inline element of class "
          RenderInline {TT} at (0,0) size 24x16
            RenderText {#text} at (586,3) size 24x16
              text run at (586,3) width 24: "one"
          RenderText {#text} at (610,0) size 714x39
            text run at (610,0) width 104: ", giving it an aqua"
            text run at (0,20) width 212: "background and a 25px top margin"
        RenderText {#text} at (212,20) size 753x39
          text run at (212,20) width 8: ". "
          text run at (220,20) width 533: "Margins on inline elements do not affect line-height calculations, so all lines in this element"
          text run at (0,40) width 197: "should have the same line-height."
      RenderBlock {P} at (0,207) size 784x60 [bgcolor=#808080]
        RenderText {#text} at (0,0) size 453x19
          text run at (0,0) width 369: "This element is unstyled save for a background color of gray. "
          text run at (369,0) width 84: "It contains an "
        RenderInline {SPAN} at (0,0) size 776x39 [bgcolor=#00FFFF]
          RenderText {#text} at (453,0) size 133x19
            text run at (453,0) width 133: "inline element of class "
          RenderInline {TT} at (0,0) size 24x16
            RenderText {#text} at (586,3) size 24x16
              text run at (586,3) width 24: "two"
          RenderText {#text} at (610,0) size 776x39
            text run at (610,0) width 166: ", giving the inline element an"
            text run at (0,20) width 251: "aqua background and a -10px top margin"
        RenderText {#text} at (251,20) size 742x39
          text run at (251,20) width 8: ". "
          text run at (259,20) width 483: "Margins on inline elements do not affect line-height calculations, so all lines in this"
          text run at (0,40) width 247: "element should have the same line-height."
      RenderTable {TABLE} at (0,283) size 784x174 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x172
          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 782x144
            RenderTableCell {TD} at (0,86) 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 770x144 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 762x60 [bgcolor=#808080]
                RenderText {#text} at (0,0) size 453x19
                  text run at (0,0) width 369: "This element is unstyled save for a background color of gray. "
                  text run at (369,0) width 84: "It contains an "
                RenderInline {SPAN} at (0,0) size 714x39 [bgcolor=#00FFFF]
                  RenderText {#text} at (453,0) size 133x19
                    text run at (453,0) width 133: "inline element of class "
                  RenderInline {TT} at (0,0) size 24x16
                    RenderText {#text} at (586,3) size 24x16
                      text run at (586,3) width 24: "one"
                  RenderText {#text} at (610,0) size 714x39
                    text run at (610,0) width 104: ", giving it an aqua"
                    text run at (0,20) width 212: "background and a 25px top margin"
                RenderText {#text} at (212,20) size 753x39
                  text run at (212,20) width 8: ". "
                  text run at (220,20) width 533: "Margins on inline elements do not affect line-height calculations, so all lines in this element"
                  text run at (0,40) width 197: "should have the same line-height."
              RenderBlock {P} at (4,80) size 762x60 [bgcolor=#808080]
                RenderText {#text} at (0,0) size 453x19
                  text run at (0,0) width 369: "This element is unstyled save for a background color of gray. "
                  text run at (369,0) width 84: "It contains an "
                RenderInline {SPAN} at (0,0) size 758x39 [bgcolor=#00FFFF]
                  RenderText {#text} at (453,0) size 133x19
                    text run at (453,0) width 133: "inline element of class "
                  RenderInline {TT} at (0,0) size 24x16
                    RenderText {#text} at (586,3) size 24x16
                      text run at (586,3) width 24: "two"
                  RenderText {#text} at (610,0) size 758x39
                    text run at (610,0) width 148: ", giving the inline element"
                    text run at (0,20) width 269: "an aqua background and a -10px top margin"
                RenderText {#text} at (269,20) size 760x39
                  text run at (269,20) width 8: ". "
                  text run at (277,20) width 483: "Margins on inline elements do not affect line-height calculations, so all lines in this"
                  text run at (0,40) width 247: "element should have the same line-height."
