#
# CSS property names
#
# Some properties are used internally, but are not part of CSS. They are used to get
# HTML4 compatibilty in the rendering engine.
#
# Microsoft extensions are documented here:
# http://msdn.microsoft.com/workshop/author/css/reference/attributes.asp
#

background
background-attachment
background-color
background-image
background-position
background-position-x
background-position-y
background-repeat
border
border-bottom
border-bottom-color
border-bottom-style
border-bottom-width
border-collapse
border-color
border-left
border-left-color
border-left-style
border-left-width
border-right
border-right-color
border-right-style
border-right-width
border-spacing
border-style
border-top
border-top-color
border-top-style
border-top-width
border-width
bottom
caption-side
clear
clip
color
content
counter-increment
counter-reset
cursor
direction
display
empty-cells
float
font
font-family
font-size
font-stretch
font-style
font-variant
font-weight
height
left
letter-spacing
line-height
list-style
list-style-image
list-style-position
list-style-type
margin
margin-bottom
margin-left
margin-right
margin-top
max-height
max-width
min-height
min-width
opacity
orphans
outline
outline-color
outline-offset
outline-style
outline-width
overflow
overflow-x
overflow-y
padding
padding-bottom
padding-left
padding-right
padding-top
page
page-break-after
page-break-before
page-break-inside
position
quotes
resize
right
scrollbar-3dlight-color
scrollbar-arrow-color
scrollbar-darkshadow-color
scrollbar-face-color
scrollbar-highlight-color
scrollbar-shadow-color
scrollbar-track-color
size
src
table-layout
text-align
text-decoration
text-indent
text-line-through
text-line-through-color
text-line-through-mode
text-line-through-style
text-line-through-width
text-overflow
text-overline
text-overline-color
text-overline-mode
text-overline-style
text-overline-width
text-shadow
text-transform
text-underline
text-underline-color
text-underline-mode
text-underline-style
text-underline-width
top
unicode-bidi
unicode-range
vertical-align
visibility
white-space
widows
width
word-break
word-spacing
word-wrap
z-index
-webkit-transition
-webkit-transition-duration
-webkit-transition-property
-webkit-transition-repeat-count
-webkit-transition-timing-function
-webkit-appearance
-webkit-background-clip
-webkit-background-composite
-webkit-background-origin
-webkit-background-size
-webkit-binding
-webkit-border-bottom-left-radius
-webkit-border-bottom-right-radius
-webkit-border-fit
-webkit-border-horizontal-spacing
-webkit-border-image
-webkit-border-radius
-webkit-border-top-left-radius
-webkit-border-top-right-radius
-webkit-border-vertical-spacing
-webkit-box-align
-webkit-box-direction
-webkit-box-flex
-webkit-box-flex-group
-webkit-box-lines
-webkit-box-ordinal-group
-webkit-box-orient
-webkit-box-pack
-webkit-box-shadow
-webkit-box-sizing
-webkit-column-break-after
-webkit-column-break-before
-webkit-column-break-inside
-webkit-column-count
-webkit-column-gap
-webkit-column-rule
-webkit-column-rule-color
-webkit-column-rule-style
-webkit-column-rule-width
-webkit-column-width
-webkit-columns
-webkit-dashboard-region
-webkit-font-size-delta
-webkit-highlight
-webkit-line-break
-webkit-line-clamp
-webkit-margin-bottom-collapse
-webkit-margin-collapse
-webkit-margin-start
-webkit-margin-top-collapse
-webkit-marquee
-webkit-marquee-direction
-webkit-marquee-increment
-webkit-marquee-repetition
-webkit-marquee-speed
-webkit-marquee-style
-webkit-match-nearest-mail-blockquote-color
-webkit-nbsp-mode
-webkit-padding-start
-webkit-rtl-ordering
-webkit-text-decorations-in-effect
-webkit-text-fill-color
-webkit-text-security
-webkit-text-size-adjust
-webkit-text-stroke
-webkit-text-stroke-color
-webkit-text-stroke-width
-webkit-transform
-webkit-transform-origin
-webkit-transform-origin-x
-webkit-transform-origin-y
-webkit-user-drag
-webkit-user-modify
-webkit-user-select
