mPDF Manual – HTML support

HTML Tags

HTML tags supported

The following HTML tags/elements are recognised and supported (to some extent) by mPDF. All HTML elements are hard-coded in mPDF to be treated as block or in-line elements (e.g. equivalent to CSS display:block or display:in-line). This cannot be changed using CSS.

TagmPDFDisplay typeCSS Description
<!--...-->   **✓**     Defines a comment
<!DOCTYPE>      Defines the document type
<a>   **✓** INLINE   **✓** Defines a hyperlink
<abbr>       Defines an abbreviation
<acronym>   **✓** INLINE   **✓** Not supported in HTML5. Defines an acronym
<address>   **✓** BLOCK   **✓** Defines contact information for the author/owner of a document
<applet>       Not supported in HTML5. Defines an embedded applet
<area>       Defines an area inside an image-map
<article>   **✓** BLOCK   **✓** Defines an article
<aside>   **✓** BLOCK   **✓** Defines content aside from the page content
<audio>       Defines sound content
<b>   **✓** INLINE   **✓** Defines bold text
<base>       Specifies the base URL/target for all relative URLs in a document
<basefont>       Not supported in HTML5. Specifies a default color, size, and font for all text in a document
<bdi>  ** ✓** INLINE   Isolates a part of text that might be formatted in a different direction from other text outside it. mPDF>=6.0
<bdo>   **✓** INLINE   Overrides the current text direction
<big>   **✓** INLINE   **✓** Not supported in HTML5. Defines big text
<blockquote>   **✓** BLOCK   **✓** Defines a section that is quoted from another source
<body>   **✓**     **✓** Defines the document's body
<br>   **✓**     **✓** Defines a single line break
<button>       Defines a clickable button
<canvas>       Used to draw graphics, on the fly, via scripting (usually JavaScript)
<caption> ** **  **✓** BLOCK/TABLE   **✓** Defines a table caption
<center>    **✓** BLOCK   **✓** Not supported in HTML5. Defines centered text
<cite>    **✓** INLINE   **✓** Defines the title of a work
<code>    **✓** INLINE   **✓** Defines a piece of computer code
<col>       Specifies column properties for each column within a <colgroup> element 
<colgroup>       Specifies a group of one or more columns in a table for formatting
<command>       Defines a command button that a user can invoke
<datalist>       Specifies a list of pre-defined options for input controls
<dd>    **✓** BLOCK   **✓** Defines a description of an item in a definition list
<del>    **✓** INLINE   **✓** Defines text that has been deleted from a document
<details>    **✓** BLOCK   **✓** Defines additional details that the user can view or hide
<dfn>       Defines a definition term
<dir>       Not supported in HTML5. Defines a directory list
<div>    **✓** BLOCK   **✓** Defines a section in a document
<dl>    **✓** BLOCK   **✓** Defines a definition list
<dt>    **✓** BLOCK   **✓** Defines a term (an item) in a definition list
<em>    **✓** INLINE   **✓** Defines emphasized text 
<embed>       Defines a container for an external (non-HTML) application
<fieldset>    **✓** FORMS   **✓** Groups related elements in a form
<figcaption>     **✓** BLOCK   **✓** Defines a caption for a <figure> element
<figure>     **✓** BLOCK   **✓** Specifies self-contained content
<font>    **✓** INLINE   **✓** Not supported in HTML5. Defines font, color, and size for text
<footer>    **✓** BLOCK   **✓** Defines a footer for a document or section
<form>    **✓** FORMS   **✓** Defines an HTML form for user input
<frame>       Not supported in HTML5. Defines a window (a frame) in a frameset
<frameset>       Not supported in HTML5. Defines a set of frames
<h1> to <h6>    **✓** BLOCK   **✓** Defines HTML headings
<head>    **✓**     Defines information about the document
<header>    **✓** BLOCK   **✓** Defines a header for a document or section
<hgroup>    **✓** BLOCK   **✓** Groups heading (<h1> to <h6>) elements
<hr>    **✓**     **✓** Defines a thematic change in the content
<html>    **✓**     Defines the root of an HTML document
<i>   **✓** INLINE   **✓** Defines a part of text in an alternate voice or mood
<iframe>       Defines an inline frame
<img>    **✓** INLINE   **✓** Defines an image
<input>    **✓** FORMFIELD   **✓** Defines an input control
<ins>    **✓** INLINE   **✓** Defines a text that has been inserted into a document
<kbd>    **✓** INLINE   **✓** Defines keyboard input
<keygen>       Defines a key-pair generator field (for forms)
<label>       Defines a label for an <input> element
<legend>    **✓** FORMFIELD   Defines a caption for a <fieldset>, < figure>, or <details> element
<li>    **✓**  BLOCK   **✓** Defines a list item
<link>    **✓**     Defines the relationship between a document and an external resource
<main>  **  ✓** BLOCK **  ✓** Defines a main section
<map>       Defines a client-side image-map
<mark>    **✓** INLINE   **✓** Defines marked/highlighted text
<menu>       Defines a list/menu of commands
<meta>       Defines metadata about an HTML document
<meter>    **✓** INLINE   Defines a scalar measurement within a known range (a gauge)
<nav>    **✓** BLOCK   **✓** Defines navigation links
<noframes>       Not supported in HTML5. Defines an alternate content for users that do not support frames
<noscript>       Defines an alternate content for users that do not support client-side scripts
<object>       Defines an embedded object
<ol>    **✓**  BLOCK   **✓** Defines an ordered list
<optgroup>       Defines a group of related options in a drop-down list
<option>    **✓** FORMFIELD   Defines an option in a drop-down list
<output>     Defines the result of a calculation
<p>    **✓** BLOCK   **✓** Defines a paragraph
<param>       Defines a parameter for an object
<pre>    **✓** BLOCK   Defines preformatted text
<progress>    **✓**   Represents the progress of a task
<q>    **✓** INLINE   **✓** Defines a short quotation
<rp>       Defines what to show in browsers that do not support ruby annotations
<rt>       Defines an explanation/pronunciation of characters (for East Asian typography)
<ruby>       Defines a ruby annotation (for East Asian typography)
<s>    **✓** INLINE   **✓** Defines text that is no longer correct
<samp>    **✓** INLINE   **✓** Defines sample output from a computer program
<script>       Defines a client-side script
<section>    **✓** BLOCK   **✓** Defines a section in a document
<select>    **✓** FORMFIELD   **✓** Defines a drop-down list
<small>    **✓** INLINE   **✓** Defines smaller text
<source>       Defines multiple media resources for media elements (<video> and <audio>)
<span>    **✓** INLINE   **✓** Defines a section in a document
<strike>    **✓** INLINE   **✓** Not supported in HTML5. Defines strikethrough text
<strong>    **✓** INLINE   **✓** Defines important text
<style>  **  ✓**     Defines style information for a document
<sub>    **✓** INLINE   **✓** Defines subscripted text
<summary>    **✓** BLOCK   **✓** Defines a visible heading for a <details> element
<sup>    **✓** INLINE   **✓** Defines superscripted text
<table>    **✓** TABLE   **✓** Defines a table
<tbody>    **✓** TABLE   Groups the body content in a table
<td>    **✓** TABLE   **✓** Defines a cell in a table
<textarea>    **✓** FORMFIELD   **✓** Defines a multiline input control (text area)
<tfoot>    **✓** TABLE   **✓** Groups the footer content in a table
<th>    **✓** TABLE   **✓** Defines a header cell in a table
<thead>    **✓** TABLE   **✓** Groups the header content in a table
<time>   **✓** INLINE   **✓** Defines a date/time
<title>       Defines a title for the document
<tr>    **✓** TABLE   **✓** Defines a row in a table
<track>       Defines text tracks for media elements (<video> and <audio>)
<tt>    **✓** INLINE   **✓** Not supported in HTML5. Defines teletype text
<u>    **✓** INLINE   **✓** Defines text that should be stylistically different from normal text
<ul>    **✓** BLOCK   **✓** Defines an unordered list
<var>    **✓** INLINE   **✓** Defines a variable
<video>       Defines a video or movie
<wbr>    **✓**     Defines a possible line-break (treated as identical to soft-hyphen) mPDF >=5.7
    </li>

XHTML compatible forms are recognised e.g. <br />