The HTML
pane allows rendering arbitrary HTML in a panel. It renders strings containing valid HTML as well as objects with a _repr_html_
method and may define custom CSS styles.
Parameters:
For details on other options for customizing the component see the layout and styling how-to guides.
disable_math
(boolean,default=True
): Whether to disable MathJax math rendering for strings escaped with$$
delimiters.enable_streaming
(boolean,default=False
): Whether to enable streaming of text snippets. This will diff theobject
when it is updated and only send the trailing chunk that was added.object
(str or object): The string or object with_repr_html_
method to displaysanitize_html
(boolean,default=False
): Whether to sanitize HTML sent to the frontend.sanitize_hook
(Callable,default=bleach.clean
): Sanitization callback to apply ifsanitize_html=True
.styles
(dict): Dictionary specifying CSS styles
The HTML
pane accepts the entire HTML5 spec including any embedded script tags, which will be executed. It also supports a styles
dictionary to apply styles to control the style of the <div>
tag the HTML contents will be rendered in.
To update the object
or styles
we can simply set it:
HTML Documents
The HTML
pane is designed to display basic HTML content. It is not suitable for rendering full HTML documents that include JavaScript or other dynamic elements.
To display complete HTML documents, you can escape the HTML content and embed it within an iframe
. Here's how you can achieve this:
This method ensures that the embedded HTML is safely isolated within an iframe, preventing any script execution that might otherwise occur directly within the Panel environment. This approach is particularly useful for embedding rich content, such as interactive visualizations, that requires its own separate HTML structure.