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 424x45
          text run at (0,0) width 416: ".one {padding-bottom: 25px; background-color: aqua;}"
          text run at (416,0) width 0: " "
          text run at (0,15) width 424: ".two {padding-bottom: -10px; background-color: aqua;}"
          text run at (424,15) width 0: " "
          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 252: "background and a 25px bottom padding"
        RenderText {#text} at (252,18) size 781x53
          text run at (252,18) width 8: ". "
          text run at (260,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 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 522: "background and no bottom padding, since negative padding values are not allowed"
        RenderText {#text} at (522,18) size 757x35
          text run at (522,18) width 8: ". "
          text run at (530,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."
      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 252: "background and a 25px bottom padding"
                RenderText {#text} at (252,18) size 749x53
                  text run at (252,18) width 8: ". "
                  text run at (260,18) width 489: "Padding on inline elements does not affect line-height calculations, so all lines"
                  text run at (0,36) width 309: "in this element should have the same line-height. "
                  text run at (309,36) width 410: "There may be implementation-specific limits on how much of the"
                  text run at (0,54) width 255: "padding 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 522: "background and no bottom padding, since negative padding values are not allowed"
                RenderText {#text} at (522,18) size 757x35
                  text run at (522,18) width 8: ". "
                  text run at (530,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."
