Below are all of the CSS properties supported by Prince. For their precise definitions please refer to the CSS specifications.
* properties marked with an asterisk are Prince extensions.
For the values, the grammar follows the CSS Values and Units Module Level 3 specification. A short explanation of the signs:
alternate-color* | color |
background | [ background-image || background-position [ / background-size ]? || background-repeat || background-attachment || background-origin background-clip? || background-color ]# |
background-attachment | scroll | fixed |
background-color | color |
background-clip | content-box | padding-box | border-box |
background-image | none | url( filename ) | linear-gradient( ... ) | radial-gradient( ... ) | repeating-linear-gradient( ... ) | repeating-radial-gradient( ... ) |
background-image-resolution* | dpi | normal | auto [ , normal | dpi ]? |
background-origin | content-box | padding-box | border-box |
background-position | [ top | bottom | left | right | center | percent | length | [ top | bottom | center ] [ left | right | center ] | [ left | right | center | percent | length ] [ top | bottom | center | percent | length ] ]# |
background-repeat | repeat | repeat-x | repeat-y | no-repeat | round | space |
background-size | [ contain | cover | [ auto | length | percent ] {1..2} ]# |
baseline-shift | baseline | sub | super | percent | length |
bleed* | auto | [ length ] {1..4} |
bookmark-label* | none | content |
bookmark-level* | none | integer |
bookmark-state* | open | closed |
bookmark-target* | self | url( target-url ) | attr( target-attr ) |
border | color || border-style || border-width |
border-bottom | color || border-style || border-width |
border-bottom-color | color |
border-bottom-style | none | hidden | solid | dashed | dotted | double | groove | ridge | inset | outset |
border-bottom-width | thin | medium | thick | length |
border-clip | normal | length |
border-collapse | separate | collapse |
border-color | color {1..4} |
border-left | color || border-style || border-width |
border-left-color | color |
border-left-style | none | hidden | solid | dashed | dotted | double | groove | ridge | inset | outset |
border-left-width | thin | medium | thick | length |
border-radius | length {1..2} |
border-bottom-left-radius | length {1..2} |
border-bottom-right-radius | length {1..2} |
border-top-left-radius | length {1..2} |
border-top-right-radius | length {1..2} |
border-right | color || border-style || border-width |
border-right-color | color |
border-right-style | none | hidden | solid | dashed | dotted | double | groove | ridge | inset | outset |
border-right-width | thin | medium | thick | length |
border-spacing | length {1..2} |
border-style | border-style {1..4} |
border-top | color || border-style || border-width |
border-top-color | color |
border-top-style | none | hidden | solid | dashed | dotted | double | groove | ridge | inset | outset |
border-top-width | thin | medium | thick | length |
border-width | [ thin | medium | thick | length ] {1..4} |
bottom | auto | length | percent |
box-decoration-break | slice | clone |
box-sizing | content-box | padding-box | border-box |
caption-page* | first | following | all |
caption-side | top | bottom |
clear | none | left | right | inside | outside | both |
clip | auto | rect( offset, offset, offset, offset ) |
clip-path | none | url( path ) |
clip-rule | nonzero | evenodd |
color | color |
column-break-after | auto | always |
column-break-before | auto | always |
column-count | number |
column-fill | auto | balance |
column-gap | length |
column-rule | column-rule-color || column-rule-style || column-rule-width |
column-rule-color | color |
column-rule-style | none | solid | dashed | dotted | double | groove | ridge | inset | outset |
column-rule-width | thin | medium | thick | length |
column-span | number | all |
column-width | auto | width |
columns | column-count | column-width |
content | normal | flow( name, page-policy? ) | [ "string" | url( filename ) | counter( name, counter-style?, page-policy? ) | counters( name, "separator", counter-style?, page-policy? ) | target-counter( url, counter, counter-style? ) | target-counters( url, counter, "separator", counter-style? ) | target-content( url ) | leader( "..." | dotted | solid | space ) | string( ident, page-policy? ) | content( ) | prince-base-url( ) | prince-script( ident, content? ) | prince-glyph-index( number ) | prince-fallback( url ) [ , content+ ]? | element( name ) ]+ |
counter-increment | none | [ name number? ]+ |
counter-reset | none | [ name number? ]+ |
direction | ltr | rtl |
display | inline | block | none | list-item | run-in | table | table-header-group | table-footer-group | table-row-group | table-row | table-cell | table-caption | table-column | table-column-group | inline-block | inline-table |
dominant-baseline | auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge |
empty-cells | show | hide |
fill | none | color | url( paint-server ) |
fill-opacity | number |
fill-rule | nonzero | evenodd |
filter | none | [ url( url ) | blur( length ) | brightness( number | percent ) | contrast( number | percent ) | drop-shadow( length {1..3}, color? ) | grayscale( number | percent ) | hue-rotate( angle ) | invert( number | percent ) | opacity( number | percent ) | saturate( number | percent ) | sepia( number | percent ) ]+ |
float | none | left | right | inside | outside | footnote | inline-footnote | prince-column-footnote | prince-column-inline-footnote | prince-snap | [ [ top | bottom | column-top | column-bottom | column-top-corner | column-bottom-corner ] && [ next | unless-fit ]? ] |
flow* | normal | static( name, [ start | current ]? ) |
font | font-style? font-variant? font-weight? font-size [ / line-height ]? font-family |
font-family | [ serif | sans-serif | monospace | name | "name" ]# prince-no-fallback? |
font-size | length | smaller | larger | xx-small | x-small | small | medium | large | x-large | xx-large |
font-stretch | ultra-condensed | extra-condensed | condensed | semi-condensed | normal | semi-expanded | expanded | extra-expanded | ultra-expanded | wider | narrower |
font-style | normal | italic |
font-variant | normal | small-caps | prince-no-kerning | prince-opentype( [ feature ]+ ) |
font-weight | normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 |
footnote-display* | block | inline | compact |
footnote-style-position | outside | inside |
height | auto | length | percent |
hyphens | none | manual | auto |
hyphenate-patterns* | none | url( patterns-url ) |
hyphenate-after* | integer |
hyphenate-before* | integer |
hyphenate-character* | auto | "string" |
hyphenate-lines* | no-limit | integer |
image-resolution* | dpi | normal | auto [ , normal | dpi ]? |
left | auto | length | percent |
letter-spacing | normal | length |
line-stacking-strategy | inline-line-height | block-line-height | max-height | grid-height |
line-height | normal | none | number | length |
link* | none | url( target-url ) | attr( target-attr ) |
list-style | list-style-image || list-style-position || list-style-type |
list-style-image | none | url( image-url ) |
list-style-position | outside | inside |
list-style-type | box | check | circle | diamond | disc | hyphen | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-alpha | upper-alpha | lower-hexadecimal | upper-hexadecimal | binary | octal | asterisks | arabic-indic | lower-greek | upper-greek | lower-norwegian | upper-norwegian | lower-russian | upper-russian | lower-ukrainian | upper-ukrainian | lower-belarusian | upper-belarusian | lower-bulgarian | upper-bulgarian | lower-serbian | upper-serbian | persian | urdu | japanese-informal | japanese-formal | simp-chinese-informal | simp-chinese-formal | trad-chinese-informal | trad-chinese-formal |
margin | [ auto | length | percent ] {1..4} |
margin-bottom | auto | length | percent |
margin-inside* | auto | length | percent |
margin-left | auto | length | percent |
margin-outside* | auto | length | percent |
margin-right | auto | length | percent |
margin-top | auto | length | percent |
marker-start | none | url( marker-url ) |
marker-mid | none | url( marker-url ) |
marker-end | none | url( marker-url ) |
marks | none || crop || cross |
mask | url( mask ) |
max-height | none | length | percent |
max-width | none | length | percent |
min-height | length | percent |
min-width | length | percent |
opacity | number |
orphans | integer |
overflow | visible | hidden |
overflow-wrap | normal | break-word |
padding | [ length | percent ] {1..4} |
padding-bottom | length | percent |
padding-left | length | percent |
padding-right | length | percent |
padding-top | length | percent |
page | auto | name |
page-break-after | auto | always | avoid | left | right |
page-break-before | auto | always | avoid | left | right |
page-break-inside | auto | avoid |
position | static | relative | absolute | fixed | running( name ) |
prince-background-image-resolution* | dpi | normal | auto [ , normal | dpi ]? |
prince-bleed* | auto | [ length ] {1..4} |
prince-bookmark-label* | none | content |
prince-bookmark-level* | none | integer |
prince-bookmark-state* | open | closed |
prince-bookmark-target* | self | url( target-url ) | attr( target-attr ) |
prince-caption-page* | first | following | all |
prince-fallback-cmyk-profile* | url( filename ) |
prince-filter-resolution* | dpi |
prince-flow* | normal | static( name, [ start | current ]? ) |
prince-footnote-policy* | auto | keep-with-line | keep-with-block |
prince-forced-breaks* | short | full |
prince-hyphenate-patterns* | none | url( patterns-url ) |
prince-hyphenate-after* | integer |
prince-hyphenate-before* | integer |
prince-hyphenate-character* | auto | "string" |
prince-hyphenate-lines* | no-limit | integer |
prince-image-resolution* | dpi | normal | auto [ , normal | dpi ]? |
prince-image-magic* | none | snap-to-integer-coords | ignore-icc-profile | jpeg-verbatim | convert-to-jpeg( percent ) | recompress-jpeg( percent ) |
prince-linebreak-magic* | none | auto |
prince-link* | none | url( target-url ) | attr( target-attr ) |
prince-mark-length* | length |
prince-mark-offset* | auto | [ length ] {1..4} |
prince-mark-width* | width |
prince-page-group* | start | auto |
prince-pdf-color-conversion* | none | full |
prince-pdf-color-options* | auto | use-true-black | use-rich-black |
prince-pdf-destination* | none | "name" | attr( attr ) |
prince-pdf-duplex* | auto | simplex | duplex-flip-short-edge | duplex-flip-long-edge |
prince-pdf-link-type* | auto | web | file |
prince-pdf-open-action* | none | print | command( ident ) |
prince-pdf-output-intent* | auto | url( filename ) |
prince-pdf-page-colorspace* | auto | none | rgb | cmyk | gray |
prince-pdf-page-label* | auto | content |
prince-pdf-page-layout* | auto | single-page | one-column | two-column | two-column-left | two-column-right |
prince-pdf-page-mode* | auto | show-attachments | show-bookmarks | fullscreen |
prince-pdf-paper-tray* | auto | pick-tray-by-pdf-size |
prince-pdf-print-scaling* | auto | none |
prince-pdf-profile* | none | "Profile" |
prince-pdf-script* | "JavaScript" |
prince-pdf-xmp* | url( filename ) |
prince-rotate-body* | portrait | landscape | angle |
prince-shrink-to-fit* | none | auto |
prince-text-justify* | auto | prince-cjk |
prince-text-replace* | none | [ "search" "replace" ]+ |
prince-tooltip* | transparent | none | normal | flow( name, page-policy? ) | [ "string" | url( filename ) | counter( name, counter-style?, page-policy? ) | counters( name, "separator", counter-style?, page-policy? ) | target-counter( url, counter, counter-style? ) | target-counters( url, counter, "separator", counter-style? ) | target-content( url ) | leader( "..." | dotted | solid | space ) | string( ident, page-policy? ) | content( ) | prince-base-url( ) | prince-script( ident, content? ) | element( name ) ]+ |
prince-trim* | auto | [ length ] {1..4} |
prince-wrap-inside* | auto | phrase | avoid |
right | auto | length | percent |
size | paper-size | length length [ landscape | portrait ]? |
src | [ url( filename ) [ format( [ "format" ]+ ) ]? | local( name ) | prince-lookup( name ) ]+ |
stop-color | color |
stop-opacity | number |
string-set | none | [ ident content ]+ |
stroke | none | color | url( paint-server ) |
stroke-dasharray | none | [ length | percent ]+ |
stroke-dashoffset | length | percent |
stroke-linecap | butt | round | square |
stroke-linejoin | miter | round | bevel |
stroke-miterlimit | number |
stroke-opacity | number |
stroke-width | length | percent | length |
table-baseline | number |
table-column-span | number | attr( colspan ) |
table-layout | auto | fixed |
table-row-span | number | attr( rowspan ) |
text-align | left | right | inside | outside | center | justify |
text-align-last | left | right | inside | outside | center | justify |
text-anchor | start | middle | end |
text-decoration | none || underline || overline || line-through |
text-indent | length hanging? |
text-line-through | color || text-line-through-style |
color | |
text-line-through-style | none | solid | dashed | dotted |
text-overflow | clip | ellipsis |
text-overline | color || text-overline-style |
text-overline-color | color |
text-overline-style | none | solid | dashed | dotted |
text-transform | none | lowercase | uppercase | capitalize |
text-underline | color || text-underline-style |
text-underline-color | color |
text-underline-style | none | solid | dashed | dotted |
top | auto | length | percent |
transform | none | [ rotate( angle ) | translate( offset, offset? ) | translatex( offset ) | translatey( offset ) | translate3d( offset, offset, offset ) | scale( number, number? ) | scalex( number ) | scaley( number ) | skewx( angle ) | skewy( angle ) ]+ |
transform-origin | [ center | left | right | top | bottom | percent | length ] {1..2} |
unicode-bidi | normal | embed | bidi-override |
unicode-range | urange+ |
vertical-align | baseline | sub | super | top | text-top | middle | bottom | text-bottom | length | percent |
visibility | visible | hidden |
white-space | normal | pre | pre-wrap | pre-line | nowrap |
widows | integer |
width | auto | length | percent |
word-break | normal | keep-all | break-all |
word-spacing | normal | length |
writing-mode | horizontal-tb | vertical-rl |
z-index | auto | number |