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 355x17
          text run at (0,0) width 355: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 784x45
        RenderText {#text} at (0,0) size 400x45
          text run at (0,0) width 392: ".one {padding-top: 25px; background-color: aqua;}"
          text run at (0,15) width 400: ".two {padding-top: -10px; background-color: aqua;}"
          text run at (0,30) width 0: " "
      RenderBlock {HR} at (0,92) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,110) size 784x72 [bgcolor=#808080]
        RenderText {#text} at (0,0) size 477x17
          text run at (0,0) width 389: "This element is unstyled save for a background color of gray. "
          text run at (389,0) width 88: "It contains an "
        RenderInline {SPAN} at (0,0) size 757x60 [bgcolor=#00FFFF]
          RenderText {#text} at (477,0) size 143x17
            text run at (477,0) width 143: "inline element of class "
          RenderInline {TT} at (0,0) size 24x15
            RenderText {#text} at (620,3) size 24x15
              text run at (620,3) width 24: "one"
          RenderText {#text} at (644,0) size 757x35
            text run at (644,0) width 113: ", giving it an aqua"
            text run at (0,18) width 228: "background and a 25px top padding"
        RenderText {#text} at (228,18) size 767x53
          text run at (228,18) width 8: ". "
          text run at (236,18) width 531: "Padding on inline elements does not affect line-height calculations, so all lines in this"
          text run at (0,36) width 267: "element should have the same line-height. "
          text run at (267,36) width 488: "There may be implementation-specific limits on how much of the padding the"
          text run at (0,54) width 177: "user agent is able to display."
      RenderBlock {P} at (0,198) size 784x54 [bgcolor=#808080]
        RenderText {#text} at (0,0) size 477x17
          text run at (0,0) width 389: "This element is unstyled save for a background color of gray. "
          text run at (389,0) width 88: "It contains an "
        RenderInline {SPAN} at (0,0) size 757x35 [bgcolor=#00FFFF]
          RenderText {#text} at (477,0) size 143x17
            text run at (477,0) width 143: "inline element of class "
          RenderInline {TT} at (0,0) size 24x15
            RenderText {#text} at (620,3) size 24x15
              text run at (620,3) width 24: "two"
          RenderText {#text} at (644,0) size 757x35
            text run at (644,0) width 113: ", giving it an aqua"
            text run at (0,18) width 498: "background and no top padding, since negative padding values are not allowed"
        RenderText {#text} at (498,18) size 772x35
          text run at (498,18) width 8: ". "
          text run at (506,18) width 266: "Padding on inline elements does not affect"
          text run at (0,36) width 528: "line-height calculations, so all lines in this element should have the same line-height."
      RenderTable {TABLE} at (0,268) size 784x178 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x176
          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 163x17
                RenderText {#text} at (4,4) size 163x17
                  text run at (4,4) width 163: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 782x150
            RenderTableCell {TD} at (0,88) size 12x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x17
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,26) size 770x150 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 762x72 [bgcolor=#808080]
                RenderText {#text} at (0,0) size 477x17
                  text run at (0,0) width 389: "This element is unstyled save for a background color of gray. "
                  text run at (389,0) width 88: "It contains an "
                RenderInline {SPAN} at (0,0) size 757x60 [bgcolor=#00FFFF]
                  RenderText {#text} at (477,0) size 143x17
                    text run at (477,0) width 143: "inline element of class "
                  RenderInline {TT} at (0,0) size 24x15
                    RenderText {#text} at (620,3) size 24x15
                      text run at (620,3) width 24: "one"
                  RenderText {#text} at (644,0) size 757x35
                    text run at (644,0) width 113: ", giving it an aqua"
                    text run at (0,18) width 228: "background and a 25px top padding"
                RenderText {#text} at (228,18) size 758x53
                  text run at (228,18) width 8: ". "
                  text run at (236,18) width 505: "Padding on inline elements does not affect line-height calculations, so all lines in"
                  text run at (0,36) width 293: "this element should have the same line-height. "
                  text run at (293,36) width 465: "There may be implementation-specific limits on how much of the padding"
                  text run at (0,54) width 200: "the user agent is able to display."
              RenderBlock {P} at (4,92) size 762x54 [bgcolor=#808080]
                RenderText {#text} at (0,0) size 477x17
                  text run at (0,0) width 389: "This element is unstyled save for a background color of gray. "
                  text run at (389,0) width 88: "It contains an "
                RenderInline {SPAN} at (0,0) size 757x35 [bgcolor=#00FFFF]
                  RenderText {#text} at (477,0) size 143x17
                    text run at (477,0) width 143: "inline element of class "
                  RenderInline {TT} at (0,0) size 24x15
                    RenderText {#text} at (620,3) size 24x15
                      text run at (620,3) width 24: "two"
                  RenderText {#text} at (644,0) size 757x35
                    text run at (644,0) width 113: ", giving it an aqua"
                    text run at (0,18) width 498: "background and no top padding, since negative padding values are not allowed"
                RenderText {#text} at (498,18) size 733x35
                  text run at (498,18) width 8: ". "
                  text run at (506,18) width 227: "Padding on inline elements does not"
                  text run at (0,36) width 567: "affect line-height calculations, so all lines in this element should have the same line-height."
