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 363x18
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 784x45
        RenderText {#text} at (0,0) size 554x45
          text run at (0,0) width 547: ".one {border-style: dashed; border-color: black; border-width: thick;}"
          text run at (546,0) width 1: " "
          text run at (0,15) width 531: ".two {border-style: groove; border-color: red; border-width: thick;}"
          text run at (530,15) width 1: " "
          text run at (0,30) width 554: ".three {border-style: none; border-color: purple; border-width: thick;}"
          text run at (553,30) width 1: " "
      RenderBlock {HR} at (0,92) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,110) size 784x54 [bgcolor=#C0C0C0]
        RenderText {#text} at (0,0) size 679x18
          text run at (0,0) width 679: "This is an unstyled element, save for the background color, and it contains inline elements with classes of "
        RenderInline {SPAN} at (0,0) size 69x28 [border: (5px dashed #000000)]
          RenderText {#text} at (683,0) size 59x18
            text run at (683,0) width 59: "class one"
        RenderText {#text} at (746,0) size 751x36
          text run at (746,0) width 5: ","
          text run at (0,18) width 313: "which will result in a dashed thick black border; "
        RenderInline {SPAN} at (0,0) size 70x28 [border: (5px groove #FF0000)]
          RenderText {#text} at (317,18) size 60x18
            text run at (317,18) width 60: "class two"
        RenderText {#text} at (381,18) size 375x18
          text run at (381,18) width 375: ", which should result in a grooved thick purple border, and"
        RenderInline {SPAN} at (0,0) size 68x18
          RenderText {#text} at (0,36) size 68x18
            text run at (0,36) width 68: "class three"
        RenderText {#text} at (67,36) size 701x18
          text run at (67,36) width 260: ", which should result in no border at all. "
          text run at (326,36) width 442: "The line-height of the parent element should not change, on any line."
      RenderTable {TABLE} at (0,180) size 784x108 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x106
          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 161x18
                RenderText {#text} at (4,4) size 161x18
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 782x80
            RenderTableCell {TD} at (0,53) 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 770x80 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 762x72 [bgcolor=#C0C0C0]
                RenderText {#text} at (0,0) size 679x18
                  text run at (0,0) width 679: "This is an unstyled element, save for the background color, and it contains inline elements with classes of "
                RenderInline {SPAN} at (0,0) size 69x28 [border: (5px dashed #000000)]
                  RenderText {#text} at (683,0) size 59x18
                    text run at (683,0) width 59: "class one"
                RenderText {#text} at (746,0) size 751x36
                  text run at (746,0) width 5: ","
                  text run at (0,18) width 313: "which will result in a dashed thick black border; "
                RenderInline {SPAN} at (0,0) size 70x28 [border: (5px groove #FF0000)]
                  RenderText {#text} at (317,18) size 60x18
                    text run at (317,18) width 60: "class two"
                RenderText {#text} at (381,18) size 375x18
                  text run at (381,18) width 375: ", which should result in a grooved thick purple border, and"
                RenderInline {SPAN} at (0,0) size 68x18
                  RenderText {#text} at (0,36) size 68x18
                    text run at (0,36) width 68: "class three"
                RenderText {#text} at (67,36) size 736x36
                  text run at (67,36) width 260: ", which should result in no border at all. "
                  text run at (326,36) width 410: "The line-height of the parent element should not change, on any"
                  text run at (0,54) width 28: "line."
