Contact Us

HTML Elements

How native HTML elements render with base.css — no Markdown pipeline, no components.

Headings

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6
Show code
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>

Paragraph & Inline Text

This is a standard paragraph. It demonstrates the default body font, line height, and text color applied by base.css. Paragraphs should have comfortable reading width and vertical rhythm.

A second paragraph tests the vertical spacing between consecutive paragraphs. Good typographic rhythm keeps text blocks visually separated without excessive gaps, letting the reader's eye flow naturally from one thought to the next.

Inline elements: bold text, italic text, bold italic, inline code, a link, a visited link, highlighted text, small text, ABBR, H2O, x2, deleted, inserted, Ctrl + S.

Show code
<p>Standard paragraph with body font, line height, and default text color.</p>

<p>
  <strong>bold</strong>, <em>italic</em>, <strong><em>bold italic</em></strong>,
  <code>inline code</code>, <a href="#">link</a>, <mark>highlighted</mark>,
  <small>small</small>, <abbr title="Abbreviation">ABBR</abbr>,
  H<sub>2</sub>O, x<sup>2</sup>, <del>deleted</del>, <ins>inserted</ins>,
  <kbd>Ctrl</kbd> + <kbd>S</kbd>
</p>

Default link — uses --st-color-link with underline and hover transition.

Links in a sentence: Read the documentation for details, or visit the project homepage.

External link: Astro Documentation. (No icon — this is a raw <a> in an Astro template, so rehypeExternalLinks never processes it.)

External link with marker: Astro Documentation (external link). (Manually annotated to match the markdown pipeline output.)

Show code
<a href="/internal/">Internal link</a>

<a href="https://docs.astro.build/">External link (raw — no icon)</a>

<!-- External link with rehypeExternalLinks-style markup -->
<a href="https://docs.astro.build/" class="external-link--auto" rel="noopener noreferrer">
  Astro Documentation
  <span class="external-link__auto-content">
    <span class="sr-only"> (external link)</span>
    <span class="external-link__auto-icon" aria-hidden="true"></span>
  </span>
</a>

Lists

Unordered List

  • First item
  • Second item
    • Nested item A
    • Nested item B
      • Deep nested
  • Third item

Ordered List

  1. First step
  2. Second step
    1. Sub-step one
    2. Sub-step two
  3. Third step

Definition List

Token
A named design decision stored as a CSS custom property.
Primitive
A raw value (color, size, spacing) with no semantic meaning.
Semantic
A token that maps a role to a primitive value.
Show code
<ul>
  <li>First item</li>
  <li>Second item
    <ul><li>Nested item</li></ul>
  </li>
</ul>

<ol>
  <li>First step</li>
  <li>Second step</li>
</ol>

<dl>
  <dt><strong>Term</strong></dt>
  <dd>Definition of the term.</dd>
</dl>

Blockquote

Design tokens create a shared vocabulary between design and development. They capture decisions so teams can iterate on visual style without touching component logic.

Nested blockquotes are uncommon but should still render correctly.

This is a nested blockquote.

Show code
<blockquote>
  <p>Design tokens create a shared vocabulary between design and development.</p>
</blockquote>

<blockquote>
  <p>Outer blockquote.</p>
  <blockquote>
    <p>This is a nested blockquote.</p>
  </blockquote>
</blockquote>

Code

Inline Code

Use the var(--st-color-link) token for link colors.

Code Block (raw <pre><code>)

This bypasses Shiki — styled by base.css only:

function greet(name) {
  return `Hello, ${name}!`;
}

const message = greet("world");
console.log(message);
Show code
<p>Use the <code>var(--st-color-link)</code> token for link colors.</p>

<pre><code>function greet(name) {
  return `Hello, ${name}!`;
}
const message = greet("world");</code></pre>

Table

Token Type Example Value
--pt-text-md Font size 1rem
--pt-space-md Spacing 1.5rem
--pt-radius-md Border radius 0.5rem
--st-color-link Color brand-primary
Show code
<table>
  <thead>
    <tr>
      <th>Token</th>
      <th>Type</th>
      <th>Example Value</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><code>--pt-text-md</code></td>
      <td>Font size</td>
      <td>1rem</td>
    </tr>
  </tbody>
</table>

Horizontal Rule

Content above the rule.


Content below the rule.

Show code
<p>Content above the rule.</p>
<hr />
<p>Content below the rule.</p>

Details / Summary

Click to expand

This is the hidden content inside a native <details> element. No JavaScript required.

Already open

This details element starts in the open state.

Show code
<details>
  <summary>Click to expand</summary>
  <p>Hidden content — no JavaScript required.</p>
</details>

<details open>
  <summary>Already open</summary>
  <p>This details element starts in the open state.</p>
</details>

Figure / Figcaption

Placeholder image demonstrating figure element
Figure 1 — A placeholder demonstrating <figure> and <figcaption> styling.
Show code
<figure>
  <Image
    src={placeholderImage}
    alt="Descriptive alt text"
    style="border-radius: var(--pt-radius-md);"
  />
  <figcaption>
    Figure 1 — Caption text describing the image.
  </figcaption>
</figure>

Form Elements (native)

Native browser form elements without component styling:

Checkboxes
Radio buttons

Note: raw HTML <button> elements are intentionally unstyled. Use the project Button primitive for themed buttons.

Show code
<form>
  <label>
    Text input
    <input type="text" placeholder="Placeholder text" />
  </label>
  <label>
    Textarea
    <textarea rows="3" placeholder="Placeholder text"></textarea>
  </label>
  <label>
    Select
    <select>
      <option>Option one</option>
      <option>Option two</option>
    </select>
  </label>
  <fieldset>
    <legend>Checkboxes</legend>
    <label><input type="checkbox" checked /> Option A</label>
    <label><input type="checkbox" /> Option B</label>
  </fieldset>
  <fieldset>
    <legend>Radio buttons</legend>
    <label><input type="radio" name="demo" checked /> Choice 1</label>
    <label><input type="radio" name="demo" /> Choice 2</label>
  </fieldset>
  <button type="button">Native button (unstyled)</button>
</form>

Search

Search across pages and articles. Use arrow keys to navigate results.

Search across pages and articles.

Loading search...

Search is unavailable. Please try again later.

    No results for ""

    Try different keywords or fewer words.