WebRADDocumentationExplore WebRAD ↗
WEBRAD / TECHNICAL REFERENCE

HTML

Display HTML and CSS or embed an external HTTPS document.

WebHtmlStandardVisual1 events

Quick start

Add Html1 in the Designer. Use the example in a page method.

Html1 · event
Html1.title = 'Welcome information';
Html1.html = '<style>body { margin: 0; font-family: sans-serif; } article { padding: 16px; }</style>'
  + '<article><h2>Welcome</h2><p>Content with its own styling.</p></article>';
Html1.aspectRatio = '16:9';
Html1.onLoad = (sender) => { console.log(sender.title); };
// Html1.clear();

Configure HTML

  1. Drag HTML from Builder → Standard onto the page or reusable component.
  2. In Content → HTML, enter a fragment or a complete HTML document. The editor preserves line breaks and indentation.
  3. Set Accessibility → Title to describe the embedded content.
  4. Configure dimensions and Size & position → Aspect ratio. A fixed ratio derives height from width.

HTML elements are edited inside the markup, rather than as Designer child components. Outer styles apply to the frame. Declare fonts, colors, spacing, and CSS inside the embedded document.

Inline content and external embeds

Inline markup supports HTML and CSS. Its sandbox disables scripts, inline JavaScript handlers, form submission, popups, and top navigation. Relative URLs follow the host URL; asset references inside the string are not automatically rewritten or included in exports.

For an external player, paste a single cross-origin HTTPS iframe into HTML, with only optional surrounding whitespace or comments. WebRAD uses it as the component frame, preserving the provider's origin and permitted script/media behavior. Configure the component's dimensions or aspect ratio in the Inspector. Mixed markup continues to use the inline sandbox.

External content requires network access and the provider's embedding permission. Serve the exported application over HTTP(S). Use F9 Preview to interact with it; Designer frames remain inert.

Code and loading

  • html reads or replaces the content. Assigning the same string preserves the current document.
  • title changes the accessible name; clear() empties the content.
  • OnLoad runs when the embedded document finishes loading. Events inside that document remain inside it.
  • Runtime changes affect the current instance; edit the Inspector to save content in the project.

More examples

External HTTPS iframe
External HTTPS iframe
Html1.title = 'Embedded video';
Html1.aspectRatio = '16:9';
Html1.html = '<iframe src="https://www.youtube.com/embed/VIDEO_ID"'
  + ' title="Video player" allow="autoplay; encrypted-media; picture-in-picture"'
  + ' referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>';
// Replace VIDEO_ID with a video that permits embedding.

Inspector properties

Component options and defaults. Fields without runtime access are configured in the Inspector.

Property / sourceType and optionsDefaultRuntime access
nameName · Identitystring—name
xLeft · Size & positionnumber0x
yTop · Size & positionnumber0y
widthWidth · Size & positionnumber320width
heightHeight · Size & positionA fixed aspect ratio derives height from width. Choose none to edit the saved height rules.number180heightConditional availability in the Inspector
itemWidthResponsive width · Responsive sizeFit content grows the item to its widest rendered child and preserves child intrinsic widths; minimum and maximum width remain limits.enumfixed stretch fit-content"fixed"Inspector / configuration
itemHeightResponsive height · Responsive sizeA fixed aspect ratio derives height from width. Choose none to edit the saved height rules.enumfixed stretch fit-content"fixed"Inspector / configurationConditional availability in the Inspector
itemMinWidthMinimum width · Responsive sizenumber0Inspector / configuration
itemMaxWidthMaximum width · Responsive sizenumbernullInspector / configuration
itemMinHeightMinimum height · Responsive sizeA fixed aspect ratio derives height from width. Choose none to edit the saved height rules.number0Inspector / configurationConditional availability in the Inspector
itemMaxHeightMaximum height · Responsive sizeA fixed aspect ratio derives height from width. Choose none to edit the saved height rules.numbernullInspector / configurationConditional availability in the Inspector
itemGrowGrow · Responsive sizenumber0Inspector / configuration
itemShrinkShrink · Responsive sizeAllows fixed and stretch flow items to yield space. Fit-content keeps its intrinsic size so its children are not compressed.booleantrueInspector / configuration
itemAlignSelfItem alignment · Responsive sizeCross-axis alignment for this item in a row or column. Auto inherits the parent alignment; responsive cross-axis stretch retains its sizing behavior.enumauto start center end stretch"auto"Inspector / configuration
itemHorizontalAnchorHorizontal anchor · Anchors & offsetsenumstart center end stretch"start"Inspector / configuration
itemVerticalAnchorVertical anchor · Anchors & offsetsenumstart center end stretch"start"Inspector / configuration
itemLeftLeft inset · Anchors & offsetsnumber0Inspector / configuration
itemRightRight inset · Anchors & offsetsnumber0Inspector / configuration
itemTopTop inset · Anchors & offsetsnumber0Inspector / configuration
itemBottomBottom inset · Anchors & offsetsnumber0Inspector / configuration
marginMargin · SpacingOuter spacing on all four sides, in pixels. Row and column layouts include this spacing between components.number0margin
marginTopMargin top · SpacingOuter spacing on this side, in pixels. Overrides the shared Margin value.number0Derived from saved propertiesmarginTop
marginRightMargin right · SpacingOuter spacing on this side, in pixels. Overrides the shared Margin value.number0Derived from saved propertiesmarginRight
marginBottomMargin bottom · SpacingOuter spacing on this side, in pixels. Overrides the shared Margin value.number0Derived from saved propertiesmarginBottom
marginLeftMargin left · SpacingOuter spacing on this side, in pixels. Overrides the shared Margin value.number0Derived from saved propertiesmarginLeft
visibleVisible · Behaviorbooleantruevisible
collapseWhenHiddenCollapse when hidden · BehaviorRemoves the component from the layout while it is not visible.booleantruecollapseWhenHidden
enabledEnabled · Behaviorbooleantrueenabled
aspectRatioAspect ratio · Size & positionnone allows free dimensions. A fixed ratio derives height from the responsive width.enumnone 1:1 4:3 3:4 16:9 9:16"none"aspectRatio
htmlHTML · ContentHTML and CSS, or a standalone HTTPS iframe embed. Inline markup scripts do not execute.string"<p>HTML content</p>"html
titleTitle · AccessibilityAccessible name of the embedded HTML document.string"HTML content"title
currentRowBindingsCurrent row · DataBind writable visual values to fields of this repeated row.current-row-bindingsEditor: current-row-bindings[]currentRowBindings

API in code

MemberSignatureAccess
aspectRatioA fixed ratio derives height from width; none restores the saved height rules.get aspectRatio(): WebAspectRatio;Read and write
htmlA fragment or complete HTML document, preserved exactly as authored.get html(): string;Read and write
titleAccessible name for the embedded document.get title(): string;Read and write
enabledget enabled(): boolean;Read and write
onLoadset onLoad(handler: WebComponentEventHandler<this> | null);Read and write

clear

method
clear(): void;
Example
Html1.clear
Html1.clear();
Inherited members (26)
MemberSignatureAccess
currentRowBindingscurrentRowBindings: readonly WebCurrentRowBinding[];Read and write
elementreadonly element: TElement;Read-only
idreadonly id: string;Read-only
namereadonly name: string;Read-only
visiblevisible: boolean;Read and write
collapseWhenHiddencollapseWhenHidden: boolean;Read and write
xx: number;Read and write
yy: number;Read and write
widthwidth: number;Read and write
heightheight: number;Read and write
marginOuter spacing on all four sides, in pixels.margin: number;Read and write
marginTopmarginTop: number;Read and write
marginRightmarginRight: number;Read and write
marginBottommarginBottom: number;Read and write
marginLeftmarginLeft: number;Read and write
alignSelfalignSelf: RuntimeLayoutAlignSelf;Read and write
tabIndextabIndex: number;Read and write
backgroundColorbackgroundColor: string;Read and write
colorcolor: string;Read and write
borderColorborderColor: string;Read and write

focus

method
focus(options?: FocusOptions): void;

show

method
show(): void;

hide

method
hide(): void;

bindEvent

method
bindEvent(eventName: string, handler: WebComponentEventHandler<this> | null): () => void;

emit

method
emit(eventName: string, detail?: unknown): boolean;

dispose

method
dispose(): void;

Events

Link methods in Interaction. How to use events.

OnLoad

Standard event (Event).

Signature and example
Interaction → OnLoad
import type { WebHtml } from '@webrad/runtime';
// Copy this method into the page class and link it in Interaction.
class Example {
  public async Html1Load(
    sender: WebHtml,
    event: Event,
  ): Promise<void> {
    console.log(sender.name, event.type);
  }
}
WebRAD · Atentor · Read in Markdown
Source code: 6a562bda75a0 (with local changes) · November 7, 2026

Search documentation

Type to search APIs, components, and events.