mPDF Manual – CSS & Stylesheets

Supported CSS

Supported CSS attributes - stylesheets or in-line

Unless otherwise stated, the following values are supported:

LENGTH: px, pc, pt, cm, mm, in, em, rem, ex and % (where appropriate) are supported. Default if no unit given is px.

FONT-SIZE: px, pc, pt, em, rem, ex, %, small, medium, large, x-small, x-large  are supported. Default if no unit given is px.

Conversion from “px” is determined by the configurable variables dpi and img_dpi

“ex” uses an approximation of half the font height

FONT-FAMILY: Any font family defined in your configuration, as well as sans, sans-serif, serif or monospace.

COLOR: #rgb or #rrggbb or rgb(255,255,255) or colour names e.g. ‘black’, ‘gray’ are supported.

Also supported are:

  • rgb(255,255,255)
  • rgba(255,255,255,1) *[last value is transparency (alpha) - between 0-1]**
  • rgb(100%,100%,100%)
  • hsl(360,100%,100%)
  • hsla(360,100%,100%,1) *[last value is transparency (alpha) - between 0-1]**
  • cmyk(100,100,100,100) *[or 0-100%]*
  • cmyka(100,100,100,100,1) *[or 0-100%; last value is transparency (alpha) - between 0-1]**
  • device-cmyk(100,100,100,100) *[or 0-100%]*
  • *device-cmyka*(100,100,100,100,1) *[or 0-100%; last value is transparency (alpha) - between 0-1]**
  • spot(COLOR NAME, 100%). (cf. AddSpotColor)

mPDF  >= 5.7 Spotcolor CMYK values can be defined as it is used e.g. color: spot(PANTONE 534 EC, 100%, 85, 65, 47, 9);

*Alpha values (transparency) are only supported on background colours - not text color

HTML Tag Property Values allowed & Notes
BODY direction rtl | ltr (mPDF >= 5.0)
COMMON TEXT STYLES See below - all except text-shadow
*margin-collapse* collapse | none (custom attribute - collapses top and bottom margins if at top or bottom of page)
line-height Line height as a factor of font-height. Usual values around 1.2 or 1.3 Also accepts px, pc, pt, cm, mm, in, em and % (mPDF >= 4.0)
background, background-image, background-position, background-repeat, background-color background is parsed as per the CSS specification. background-image in the form url(image.png) or url('image.png') or GRADIENT (mPDF >= 5.1). background-position is supported as per CSS2.1 background-repeat: repeat | repeat-x | repeat-y | no-repeat background-attachment is parsed but has no effect. See note below. (cf. Backgrounds & borders) (All except background-color added mPDF 3.0)
*background-image-resolution* normal | [ from-image <dpi> ]  (mPDF >= 5.1) Custom tag, but as for image-resolution in CSS3
*background-gradient* Defines a linear or radial colour gradient for the background. linear COLOR1 COLOR2 x1 y1 x2 y2; or radial COLOR1 COLOR2 x1 y1 x2 y2 radius; x, y and radius are values between 0 and 1 (custom attribute) (cf. Backgrounds & borders)
*background-image-opacity* Value between 0 and 1.0 Sets the opacity/transparency of the background image.
*background-image-resize* 0 - No resizing (default) 1 - Shrink-to-fit w (keep aspect ratio) 2 - Shrink-to-fit h (keep aspect ratio) 3 - Shrink-to-fit w and/or h (keep aspect ratio) 4 - Resize-to-fit w (keep aspect ratio) 5 - Resize-to-fit h (keep aspect ratio) 6 - Resize-to-fit w and h
All Block level tags: P, DIV, H1-H6, OL, UL, ADDRESS, BLOCKQUOTE, CAPTION, CENTER, DL, DT, DD, FORM, ARTICLE, ASIDE, DETAILS, FIELDSET, FIGURE, FIGCAPTION, FOOTER, HEADER, HGROUP, NAV, SECTION, SUMMARY margin*, margin-top, margin-bottom, margin-left, margin-right LENGTH
padding*, padding-right, padding-left, padding-top, padding-bottom LENGTH
border, border-top, border-bottom, border-left, border-right Size style and colour e.g. LENGTH solid|dotted|dashed|double COLOR
border-color*, border-top-color, border-right-color, border-bottom-color, border-left-color COLOR (mPDF >= 4.0)
border-width*, border-top-width, border-right-width, border-bottom-width, border-left-width LENGTH  (mPDF >= 4.0)
border-style*, border-top-style, border-right-style, border-bottom-style, border-left-style solid|dotted|dashed|double (mPDF >= 4.0) (double was added mPDF 4.2)
border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius LENGTH See draft CSS3 specification for use. NB Use of $autoPadding which can automatically increase padding in block elements with border-radius set as required
width LENGTH mPDF does not support nested block elements which overlap (horizontally or vertically) i.e. the inner block must be contained by the outer block's physical dimensions. width and height are overridden if this is not the case.
height LENGTH  mPDF does not support nested block elements which overlap (horizontally or vertically) i.e. the inner block must be contained by the outer block's physical dimensions. width and height are overridden if this is not the case. (Prior to mPDF v5.1: only supported if whole block is all on one page; will extend a block but not shorten it; will not force a pagebreak even if height should move onto next page.) NB % is interpreted as % of printable page height (inside margins)
text-align left | center | right | justify
page-break-after auto | avoid | always | left | right (extended mPDF >= 5.4)
page-break-inside avoid (avoids a page-break within the block - only works across max. of 2 pages; not compatible with table autosize or table rotate)
page-break-before always | left | right
display none
visibility visible | hidden | *printonly* | *screenonly*  (mPDF >= 5.4)
*margin-collapse* collapse|none (custom attribute - collapses top and bottom margins if at top or bottom of page)
line-height Line height as a factor of font-height. Usual values around 1.2 or 1.3 Also accepts px, pc, pt, cm, mm, in, em and % (mPDF >= 4.0) 'normal' also accepted (set by default to 1.3 in mPDF)
line-stacking-strategy inline-line-height | block-line-height | max-height | grid-height As per draft CSS3 spec. (mPDF >= 6.0) Default = inline-line-height
line-stacking-shift consider-shifts | disregard-shifts As per draft CSS3 spec. (mPDF >= 6.0) Default = consider-shifts
background, background-image, background-position, background-repeat, background-color background is parsed as per the CSS specification. background-image in the form url(image.png) or url('image.png') or GRADIENT (mPDF >= 5.1). background-position is supported as per CSS2.1 background-repeat: repeat | repeat-x | repeat-y | no-repeat background-attachment is parsed but has no effect. See note below. (cf. Backgrounds & borders) (All except background-color added mPDF 3.0)
background-clip padding-box|border-box (default=border-box) extended to include "content-box" from mPDF 5.7
background-origin padding-box|content-box|border-box  (default padding-box) As per CSS3. mPDF >= 5.7
background-size [ <length> | <percentage> | auto ]{1,2} | cover | contain  (default = auto) As per CSS3. mPDF >= 5.7
*background-image-resolution* normal | [ from-image <dpi> ]  (mPDF >= 5.1) Custom tag, but as for image-resolution in CSS3
*background-gradient* Defines a linear or radial colour gradient for the background. linear COLOR1 COLOR2 x1 y1 x2 y2; or radial COLOR1 COLOR2 x1 y1 x2 y2 radius; x, y and radius are values between 0 and 1 (custom attribute) (cf. Backgrounds & borders)
*background-image-opacity* Value between 0 and 1.0 Sets the opacity/transparency of the background image.
*background-image-resize* 0 - No resizing (default) 1 - Shrink-to-fit w (keep aspect ratio) 2 - Shrink-to-fit h (keep aspect ratio) 3 - Shrink-to-fit w and/or h (keep aspect ratio) 4 - Resize-to-fit w (keep aspect ratio) 5 - Resize-to-fit h (keep aspect ratio) 6 - Resize-to-fit w and h
box-shadow As per CSS3 specification. 'inset' is not supported. (mPDF >= 5.4)
box-decoration-break slice | clone  (default = slice) Defines the handling of padding and borders at page breaks, when clonebycss set
z-index Sets a layer in the PDF document. Note: this is not the same as a "layer" in CSS terms. See Layers.
All Block level tags: P, DIV, H1-H6, OL, UL, ADDRESS, BLOCKQUOTE, CAPTION, CENTER, DL, DT, DD, FORM, ARTICLE, ASIDE, DETAILS, FIELDSET, FIGURE, FIGCAPTION, FOOTER, HEADER, HGROUP, NAV, SECTION, SUMMARY (contd.) COMMON TEXT STYLES See below
*text-indent* Indents first line of text in the paragraph/block. LENGTH (Indent is disabled in tables.) Negative value will give a 'hanging indent'.
position fixed | absolute absolute - uses physical page as containing element; fixed - uses printable page (inside margins) as containing element. (mPDF >= 4.0) NB Only supported for top-level elements i.e. where the parent element is <body>. Fixed-position or floating elements nested inside other fixed-position or floating elements are not supported.
overflow visible | hidden | auto Applies to block elements with position fixed or absolute. auto - causes text to autofit within the block size (constrained if necessary to page edges). (mPDF >= 4.0)
hyphens none | manual | auto (default = manual) As per CSS. (mPDF  >= 5.7)
*rotate* 90 | -90 Applies only to block elements with position fixed or absolute. (mPDF >= 5.0) Sizing and layout of the block element using top, left, bottom, right, width and height are applied BEFORE the element is rotated. The top and left co-ordinates are respected for positioning, except when bottom or right are specified without respective top or left when the bottom/right co-ordinates are used.
top, left, bottom, right LENGTH Applies to block elements with position fixed or absolute. (mPDF >= 4.0)
float left|right Partially supported as for CSS2 property. NB Fixed-position or floating elements nested inside other fixed-position or floating elements are not supported.
clear left|right|both
page Specify a named page selector (see @page)
direction rtl | ltr (mPDF >= 5.1)
HTML Tag Property Values allowed & Notes
LIST tags: OL, UL list-style [ 'list-style-type' 'list-style-position' 'list-style-image' ]   mPDF >= 6.0
list-style-type* *
    </li>
1 | A | a | I | i | disc | circle | square | decimal | lower-roman | upper-roman | lower-latin | upper-latin | lower-alpha | upper-alpha | none arabic-indic | bengali | cambodian | cjk-decimal | devanagari | gujarati | gurmukhi | hebrew |kannada | khmer | lao | malayalam | oriya | persian | telugu | thai | urdu | tamil "1" - decimal "A" = upper-latin "a" = lower-latin "I" = upper-roman "i" = lower-roman Custom list-style-type is recognised e.g.: U+263Argb(255,0,0); - where U+263A is the Unicode HEX value of the character you want for the bullet - the character MUST be included in the font used for that list item - rgb() bit is optional
list-style-image <URI> mPDF >= 6.0
list-style-position inside | outside  (default = outside) mPDF >= 6.0
  **NB Lists are handled as block-level elements as from mPDF 6.0 (see above)**
LI list-style [ 'list-style-type' 'list-style-position' 'list-style-image' ]   mPDF >= 6.0
list-style-type* * 1 | A | a | I | i | disc | circle | square | decimal | lower-roman | upper-roman | lower-latin | upper-latin | lower-alpha | upper-alpha | none arabic-indic | bengali | cambodian | cjk-decimal | devanagari | gujarati | gurmukhi | hebrew |kannada | khmer | lao | malayalam | oriya | persian | telugu | thai | urdu | tamil "1" - decimal "A" = upper-latin "a" = lower-latin "I" = upper-roman "i" = lower-roman Custom list-style-type is recognised e.g.: U+263Argb(255,0,0); - where U+263A is the Unicode HEX value of the character you want for the bullet - the character MUST be included in the font used for that list item - rgb() bit is optional
list-style-image <URI> mPDF >= 6.0
list-style-position inside | outside  (default = outside) mPDF >= 6.0
  **NB Lists are handled as block-level elements as from mPDF 6.0 (see above)**
HTML Tag Property Values allowed & Notes
All Inline tags: SPAN, A, SUB, SUP,  ACRONYM, BIG, SMALL, INS, S, STRIKE, DEL, STRONG, CITE, Q, EM, B, I, U, SAMP, CODE, KBD, TT, VAR, FONT, TIME, MARK COMMON TEXT STYLES See below
border, border-top, border-bottom, border-left, border-right Size style and colour e.g. LENGTH solid|dotted|dashed|double COLOR (mPDF >= 5.4)
border-color*, border-top-color, border-right-color, border-bottom-color, border-left-color COLOR (mPDF >= 5.4)
border-width*, border-top-width, border-right-width, border-bottom-width, border-left-width LENGTH  (mPDF >= 5.4)
border-style*, border-top-style, border-right-style, border-bottom-style, border-left-style solid|dotted|dashed|double (mPDF >= 5.4)
background-color, background COLOR (only the color is supported in background)
display none (mPDF >= 5.0)
visibility hidden | visible | printonly | screenonly (default = visible) (mPDF >= 5.7)
hyphens none | manual | auto (default = manual) As per CSS. (mPDF  >= 5.7)
HTML Tag Property Values allowed & Notes
TABLE background-color COLOR
background, background-image, background-position, background-repeat, background-color background is parsed as per the CSS specification. background-image in the form url(image.png) or url('image.png') or GRADIENT. background-position is supported as per CSS2.1 background-repeat: repeat | repeat-x | repeat-y | no-repeat background-attachment is parsed but has no effect. See note below. (cf. Backgrounds & borders) (All except background-color added mPDF 5.1)
background-image-resolution normal | [ from-image <dpi> ]  (mPDF >= 5.1)
*background-image-opacity* Value between 0 and 1.0 Sets the opacity/transparency of the background image.
COMMON TEXT STYLES See below - except text-decoration, text-transform and text-shadow
border, border-right, border-left, border-top, border-bottom Size style and colour e.g. LENGTH double | solid | dashed | dotted | ridge | outset | groove | inset | hidden | none COLOR  NB Table & cell borders accept: double | solid | dashed | dotted | ridge | outset | groove | inset (other block elements only support solid | dotted | dashed | double)
border-color*, border-top-color, border-right-color, border-bottom-color, border-left-color COLOR (mPDF >= 4.0)
border-width*, border-top-width, border-right-width, border-bottom-width, border-left-width LENGTH  (mPDF >= 4.0)
border-style*, border-top-style, border-right-style, border-bottom-style, border-left-style double | solid | dashed | dotted | ridge | outset | groove | inset | hidden | none (mPDF >= 4.0)
padding*, padding-right, padding-left, padding-top, padding-bottom LENGTH (mPDF <= 1.3 incorrectly set cell-padding for all cells in table.) Sets table padding (only relevant when border-collapse:separate)
margin*, margin-right, margin-left, margin-top, margin-bottom LENGTH
width LENGTH
vertical-align top | middle | bottom (applies to all cells in table)
text-align left | right | center (applies to all cells in table; to centre a table on the page, you must use the align="center" attribute in the table tag)
border-collapse collapse | separate
border-spacing Single or double values: 2px sets horizontal and vertical; 2px 3px sets horizontal=2 and vertical=3 (Same as cellSpacing attribute) Default=2px
empty-cells hide | show (only relevant when border-collapse:separate)
page-break-inside avoid
page-break-after left | right | always (mPDF >= 5.4)
*rotate* rotates the table 90 degress clockwise (90) or counter-clockwise (-90). Does not work with columns, and bookmarks will not be correctly placed (custom attribute)
*autosize* Shrinks a table to fit if width is too small to allow complete words to fit. The value (must be >=1) determines the maximum allowable factor to shrink i.e. autosize="2" will allow the font-size to be reduced to a minimum of 1/2 the original size. A value of 1 prevents automatic resizing of the table. (custom property)
*topntail* Sets border at top and bottom of table, and below THEAD row if present. (custom attribute)
*thead-underline* Sets border at bottom of THEAD row if present. (custom attribute added mPDF v1.1)
line-height Sets default line-height for table cells as factor or % (value e.g. 1.3)
line-stacking-strategy inline-line-height | block-line-height | max-height | grid-height As per draft CSS3 spec. (mPDF >= 6.0) Default = inline-line-height
line-stacking-shift consider-shifts | disregard-shifts As per draft CSS3 spec. (mPDF >= 6.0) Default = consider-shifts
*overflow* auto | hidden | visible | wrap Controls table layout if minimum width is too wide for page.
direction rtl | ltr (mPDF >= 5.1)
CAPTION caption-side top | bottom (mPDF >= 5.4) Right and left are not supported
**THEAD, TFOOT** font-weight normal | bold
vertical-align top | middle | bottom
text-align left | center | right
TR background-color COLOR
background, background-image, background-position, background-repeat, background-color background is parsed as per the CSS specification. background-image in the form url(image.png) or url('image.png') or GRADIENT. background-position is supported as per CSS2.1 background-repeat: repeat | repeat-x | repeat-y | no-repeat background-attachment is parsed but has no effect. See note below. (cf. Backgrounds & borders) (All except background-color added mPDF 5.1)
*background-image-opacity* Value between 0 and 1.0 Sets the opacity/transparency of the background image.
border, border-right, border-left, border-top, border-bottom Size style and colour e.g. LENGTH double | solid | dashed | dotted | ridge | outset | groove | inset | hidden | none COLOR  NB Table & cell borders accept: double | solid | dashed | dotted | ridge | outset | groove | inset | hidden | none (other block elements only support solid | dotted | dashed | double) (mPDF >= 5.1)
border-color*, border-top-color, border-right-color, border-bottom-color, border-left-color COLOR (mPDF >= 5.1)
border-width*, border-top-width, border-right-width, border-bottom-width, border-left-width LENGTH  (mPDF >= 5.1)
border-style*, border-top-style, border-right-style, border-bottom-style, border-left-style double | solid | dashed | dotted | ridge | outset | groove | inset | hidden | none (mPDF >= 5.1)
*text-rotate* Rotate the text inside table cells for this row. Accepted values are 1 - 90 for degrees anticlockwise, or -90 (only) for clockwise rotation. (custom attribute)
:nth-child()  SELECTOR* * odd | even | *a*n+*b* As per CSS3 specification
TD, TH background, background-image, background-position, background-repeat, background-color background is parsed as per the CSS specification. background-image in the form url(image.png) or url('image.png') or GRADIENT (mPDF >= 5.1). background-position is supported as per CSS2.1 background-repeat: repeat | repeat-x | repeat-y | no-repeat background-attachment is parsed but has no effect. See note below. (All except background-color added mPDF 3.2)
*background-gradient* Defines a linear or radial colour gradient for the background. linear COLOR1 COLOR2 x1 y1 x2 y2; or radial COLOR1 COLOR2 x1 y1 x2 y2 radius; x, y and radius are values between 0 and 1 (custom attribute) (cf. Backgrounds & borders) (Added mPDF 3.2)
*background-image-opacity* Value between 0 and 1.0 Sets the opacity/transparency of the background image.
*background-image-resize* 0 - No resizing (default) 1 - Shrink-to-fit w (keep aspect ratio) 2 - Shrink-to-fit h (keep aspect ratio) 3 - Shrink-to-fit w and/or h (keep aspect ratio) 4 - Resize-to-fit w (keep aspect ratio) 5 - Resize-to-fit h (keep aspect ratio) 6 - Resize-to-fit w and h
border, border-right, border-left, border-top, border-bottom Size style and colour e.g. LENGTH double | solid | dashed | dotted | ridge | outset | groove | inset | hidden | none COLOR  NB Table & cell borders accept: double | solid | dashed | dotted | ridge | outset | groove | inset | hidden | none (other block elements only support solid | dotted | dashed | double)
border-color*, border-top-color, border-right-color, border-bottom-color, border-left-color COLOR (mPDF >= 4.0)
border-width*, border-top-width, border-right-width, border-bottom-width, border-left-width LENGTH  (mPDF >= 4.0)
border-style*, border-top-style, border-right-style, border-bottom-style, border-left-style double | solid | dashed | dotted | ridge | outset | groove | inset | hidden | none (mPDF >= 4.0)
padding*, padding-right, padding-left, padding-top, padding-bottom LENGTH
width LENGTH
height LENGTH (but not %) (mPDF >= 4.0)
COMMON TEXT STYLES See below
white-space nowrap
vertical-align top|middle|bottom
text-align left | right | center From mPDF 5.7, also supports a decimal-mark alignment followed by a default e.g. text-align: '.' center; Non-ASCII characters should be defined using Unicode values: text-align: '\66B' center;
*text-rotate* Rotates the text in a table cell. Accepted values are 1-90 for degrees anticlockwise, or -90 (only) for clockwise rotation. (custom attribute)
line-stacking-strategy inline-line-height | block-line-height | max-height | grid-height As per draft CSS3 spec. (mPDF >= 6.0) Default = inline-line-height
line-stacking-shift consider-shifts | disregard-shifts As per draft CSS3 spec. (mPDF >= 6.0) Default = consider-shifts
hyphens* * none | manual | auto (default = manual) As per CSS. (mPDF  >= 5.7)
:nth-child()  SELECTOR odd | even | *a*n+*b* As per CSS3 specification
direction rtl | ltr (mPDF >= 6.0)
HTML Tag Property Values allowed & Notes
HR width LENGTH
text-align left|right|center
color COLOR
height i.e. line-width. LENGTH
margin-top, margin-bottom LENGTH
margin-left, margin-right auto|0 (only) are supported as an alternative way to align a HR of less than 100% width. Values for margin-left: 0; margin-right: auto; will align the HR to the left etc.
clear left|right|both
IMG vertical-align top|middle|bottom|baseline|text-bottom|text-top (Full support only from mPDF 4.2)
margin, margin-right, margin-left, margin-top, margin-bottom LENGTH
border, border-right, border-left, border-top, border-bottom Must be full declaration of size style and colour e.g. 0.1pt solid|dotted|dashed #cccccc Will also accept #cccccc 0.1pt solid (which is generated by IE WYSIWYG editor) and (from mPDF 1.4) solid 3mm #000000 medium | thin | thick accepted for size
padding*, padding-right, padding-left, padding-top, padding-bottom LENGTH
background-color COLOR  (mPDF >= 5.7.3) 
opacity Value between 0 and 1.0 CSS3 recommended property (but already supported by Firefox) Sets the opacity/transparency of the image.
image-orientation ANGLE as deg, rad, or grad (as per draft CSS3)  mPDF >= 5.1
image-resolution normal | [ from-image <dpi> ](as per draft CSS3)  mPDF >= 5.1
image-rendering auto | crisp-edges | optimizequality | smooth  (as per draft CSS3) (mPDF >= 6.0) Controls whether interpolation is on or off in PDF document. Once set for an image, subsequent use of the same image will use the initial setting for this property. auto (default) - uses the value set by config variable: $interpolateImages crisp-edges - interpolation disabled optimizequality - interpolation enabled smooth - interpolation enabled
*gradient-mask* GRADIENT  (see notes below)  mPDF >= 5.1
display none
visibility visible | hidden | *printonly* | *screenonly*  (mPDF >= 5.4)
transform All CSS3 transform functions are supported except matrix() i.e. translate(), translateX(), translateY() skew(), skewX(), skewY() scale(), scaleX(), scaleY() rotate() cf. http://www.w3.org/TR/css3-transforms/#typedef-transform-function
float left | right (cf. Images)
z-index Sets a layer in the PDF document. See Layers.
(vspace, hspace) Attributes - set values for margin-left/right or margin-top/bottom
width, height LENGTH. NB the inline attributes width="" and height="" are also supported
min-width, min-height, max-width, max-height LENGTH. (mPDF >= 5.6)
SELECT font-family FONT-FAMILY
font-size FONT-SIZE
color COLOR
TEXTAREA width, height LENGTH. NB the inline attributes cols="" and rows="" are also supported
font-family FONT-FAMILY
font-size FONT-SIZE
color COLOR
vertical-align top|middle|bottom|baseline|text-bottom|text-top (Full support only from mPDF 4.2)
border-color COLOR  Active Forms only (mPDF >= 5.3)
background-color COLOR  Active Forms only (mPDF >= 5.3)
INPUT (type=IMAGE) width, height LENGTH
INPUT (type=BUTTON|SUBMIT|RESET) font-family FONT-FAMILY  Active Forms only (mPDF >= 5.3)
font-size FONT-SIZE  Active Forms only (mPDF >= 5.3)
color COLOR  Active Forms only (mPDF >= 5.3)
border-color COLOR  Active Forms only (mPDF >= 5.3)
background-color COLOR  Active Forms only (mPDF >= 5.3)
INPUT (type=CHECKBOX|RADIO) font-size FONT-SIZE (sets size of glyph). Not inherited.
color COLOR. Not inherited.
INPUT (type=PASSWORD|TEXT) width LENGTH. NB the inline attribute size="" is also supported
font-family FONT-FAMILY
font-size FONT-SIZE
color COLOR
border-color COLOR  Active Forms only (mPDF >= 5.3)
background-color COLOR  Active Forms only (mPDF >= 5.3)
BR clear left|right|both
DOTTAB *outdent* LENGTH. (mPDF >= 5.7)
@page @page <named>  size <length>{1,2} | auto | portrait | landscape Note: 'em' 'ex' and % are not allowed Length values are width and height e.g. size: 8.5in 11in; or one value for a square. Sets the size of the 'page-box', which is usually used with a constant size sheet through the document, as in the CSS2 @paged media spec.
sheet-size <length>{2} | A4 | A4-L etc. Note: 'em' 'ex' and % are not allowed Length values are width and height e.g. size: 8.5in 11in; Any of the standard sheet sizes can be used (as for mPDF() ) with the suffix '-L' for landscape
odd-header-name, even-header-name, odd-footer-name, even-footer-name A named Header or Footer. HTML headers/footers must precede the name with $html_ NB This was the original form, and still takes preference over header and footer which can be set using the pseudo-selectors e.g. :right The name *_default* can be used to allow the current non-HTML header to remain unchanged (mPDF >= 5.1)
margin, margin-left, margin-right, margin-top, margin-bottom LENGTH (% refers to page-box width for left/right, of height for top/bottom)
@page   @page :right @page :left @page :first @page <named> margin-top, margin-bottom LENGTH (% refers to page-box width for left/right, of height for top/bottom) Note that left and right margins cannot be changed when using a page selector. @page :first is not recognised unless @page has been set with some CSS properties
*margin-header, margin-footer* LENGTH
marks crop | cross | none From mPDF 5.1 crop and cross can be used together.
header, footer A named Header or Footer. HTML headers/footers must precede the name with $html_ (from mPDF 4.2)
background, background-image, background-position, background-repeat, background-color background is parsed as per the CSS specification. background-image in the form url(image.png) or url('image.png') supported. background-position is supported as per CSS2.1 background-repeat: repeat | repeat-x | repeat-y | no-repeat background-attachment is parsed but has no effect. See note below. (cf. Backgrounds & borders)
*background-image-opacity* Value between 0 and 1.0 Sets the opacity/transparency of the background image.
*background-image-resize* 0 - No resizing (default) 1 - Shrink-to-fit w (keep aspect ratio) 2 - Shrink-to-fit h (keep aspect ratio) 3 - Shrink-to-fit w and/or h (keep aspect ratio) 4 - Resize-to-fit w (keep aspect ratio) 5 - Resize-to-fit h (keep aspect ratio) 6 - Resize-to-fit w and h
*background-gradient* Defines a linear or radial colour gradient for the background. linear COLOR1 COLOR2 x1 y1 x2 y2; or radial COLOR1 COLOR2 x1 y1 x2 y2 radius; x, y and radius are values between 0 and 1 (custom attribute) (cf. Backgrounds & borders)
*resetpagenum* INTEGER Reset page numbering. Use with **:first**
*pagenumstyle* 1 | A | a | I | i   See <pagebreak> for details
*suppress* on | off | 1 | 0  See <pagebreak> for details

Common Text Styles

COMMON TEXT STYLES font-family FONT-FAMILY
font-size FONT-SIZE
font-style italic | oblique | normal
font-weight bold | normal (only)
font Shorthand form, as per CSS2 specification (mPDF >= 4.0)
font-variant normal | none | [ <common-lig-values> <discretionary-lig-values> <historical-lig-values> <contextual-alt-values> historical-forms [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] <numeric-figure-values> <numeric-spacing-values> <numeric-fraction-values> ordinal slashed-zero ] (mPDF >= 6.0)
font-variant-position normal | sub | super (mPDF >= 6.0)
font-variant-caps normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps (mPDF >= 6.0)
font-variant-ligatures normal | none | [ <common-lig-values> <discretionary-lig-values> <historical-lig-values> <contextual-alt-values> ] (mPDF >= 6.0) <common-lig-values>       = [ common-ligatures | no-common-ligatures ] <discretionary-lig-values> = [ discretionary-ligatures | no-discretionary-ligatures ] <historical-lig-values>      = [ historical-ligatures | no-historical-ligatures ] <contextual-alt-values>    = [ contextual | no-contextual ]
font-variant-numeric normal | [ <numeric-figure-values> <numeric-spacing-values> <numeric-fraction-values> ordinal slashed-zero ] (mPDF >= 6.0)
font-variant-alternates Only [normal | historical-forms] supported (i.e. most are NOT supported) (mPDF >= 6.0)
font-language-override 3-letter case-sensitive OpenType language system tag (mPDF >= 6.0)
font-feature-settings Comma separated list of <feature-tag-value> with the following syntax: <feature-tag-value> = <string> [ <integer> | on | off ]? (mPDF >= 6.0)
font-kerning auto | normal | none (mPDF >= 5.1) auto and normal both have the effect of turning kerning on, as long as `$mpdf->useKerning = true;`
vertical-align super | sub | baseline | LENGTH  (mPDF >= 5.7.3)
letter-spacing normal | LENGTH  (mPDF >= 5.1)
word-spacing normal | LENGTH  (mPDF >= 5.1)
color COLOR
text-decoration underline | line-through | normal (line-through = strike-through)  (mPDF >= 5.4) overline  (mPDF >= 5.7.3)
text-outline thickness [ blur ] color; OR none (default) Blur is not supported. As per CSS3 (mPDF >= 5.7) Supported in tables >= 6.0
text-outline-width, *outline-width* Width of the outline. LENGTH (text-outline-width as from mPDF >= 5.7) Supported in tables >= 6.0
text-outline-color, *outline-color* COLOR  = colour of the inner part of the text e.g. #rrggbb. 'INVERT' is also accepted. (text-outline-color as from mPDF >= 5.7) Supported in tables >= 6.0
text-shadow As per CSS3 specification. 'blur' is not supported.  (mPDF >= 5.4)
text-transform  capitalize | uppercase | lowercase  (mPDF >= 5.4)
unicode-bidi normal | embed | isolate | bidi-override | isolate-override | plaintext (mPDF >= 6.0) When used on block-level elements: - the value is not inherited to child blocks - using "embed" or "isolate" has no effect on block level-boxes - "isolate-override" is equivalent to "bidi-override" on block-level boxes

Notes:

  • Margin, padding, border-width, border-color and border-style accept the various shorthand forms e.g.:

margin:1pt; will set all top, right, bottom and left values the same

margin:1pt 2pt; will set top and bottom to 1pt, left and right to 2pt

margin:1pt 2pt 3pt; will set top to 1pt, left and right to 2pt, and bottom to 3pt (mPDF >= 4.0)

margin:1pt 2pt 3pt 4pt; will set all values in order: top>right>bottom>left

NB Table page-break-inside, autosize values and rotate are only respected for that set on first level table of nested tables

Border

medium thin thick are accepted for size - converted to 1px, 3px, 5px

See Also