{# showcase_1_tags.html Visual reference for all styled elements. Section 1: Standard HTML5 tags with base styles. Section 2: Custom tags in their natural state. Section 3: Color components - txtcolor / bgcolor / bordercolor. Section 4: Color palette reference. #} {# ════════════════════════════════════════════════════════════ SECTION 1 - STANDARD HTML5 TAGS ════════════════════════════════════════════════════════════ #}

Standard HTML5 Tags

Native HTML5 elements styled via base_typography.css and base_fallback.css. No custom tags, no color attributes.

{# -- Headings ----------------------------------------------- #}
h1 - h6

h1 - Main Heading

h2 - Section Heading

h3 - Subsection

h4 - Fourth Level

h5 - Fifth Level
h6 - Sixth Level
{# -- Paragraph & Inline ------------------------------------- #}
p · strong · em · small · s · u · q · abbr · dfn · cite · sub · sup · del · ins · mark · time · samp · var

A standard paragraph. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

strong - important.   em - emphasis.   small - fine print.   s - no longer accurate.   u - unarticulated annotation.   b - bold.   i - alternate voice.

Short inline quotation using the q element.   Use HTML for structure and CSS for presentation.   The viewport is the visible area of a web page.   The Design of Everyday Things - Don Norman.

H2O  ·  E = mc2  ·  removed text  ·  inserted text  ·  Highlighted: brown fox and lazy dog.

Event on .  ·  Sample output: Error: file not found  ·  Variable: x = y + z

Standard link  ·  Visited link

{# -- kbd + code --------------------------------------------- #}
kbd · code

Save: Ctrl + S  ·  Copy: Ctrl + C  ·  Paste: Ctrl + V

Inline: use display: flex to enable flex layout on a container.

const greet = (name) => { return `Hello, ${name}!`; }; console.log(greet("World"));
{# -- Blockquote --------------------------------------------- #}
blockquote
Default - a passage quoted from another source.
type="success" - everything went as expected.
type="warning" - proceed with caution.
type="danger" - critical issue, action required.
type="info" - informational note, no action needed.
{# -- Lists -------------------------------------------------- #}
ul · ol · dl / dt · dd · li

ul / li

  • First item
  • Second item with a link
  • Third item

ol / li

  1. Step one
  2. Step two
  3. Step three

dl / dt / dd

HTML
Structure and semantics.
CSS
Visual presentation and layout.
JavaScript
Behaviour and interactivity.
{# -- Table -------------------------------------------------- #}
table · thead · tbody · tfoot · tr · th · td
Name Role Status Since
Alice Müller Lead Developer Active 2021
Bob Schneider UX Designer Active 2022
Clara Becker Project Manager On leave 2020
3 team members total
{# -- Pre / Address / Figure --------------------------------- #}
pre · address · figure · figcaption
pre - preserves whitespace.
  name: "showcase"
  version: 1.0
  tags: [html, css]
Soss Community
Example Street 1, Exampletown 12345
community@soss.page
"Any sufficiently advanced technology is indistinguishable from magic."
Arthur C. Clarke, Profiles of the Future, 1962
{# -- Details / Summary / HR --------------------------------- #}
details · summary · hr
Click to expand - details / summary

Hidden content revealed after clicking the summary element.

Already open on load - details[open]

The open attribute makes this expanded by default.


{# -- Form elements ------------------------------------------ #}
input · textarea · select · button · fieldset · legend · label · progress · meter · output

Text inputs

Select

Checkboxes & Radios

Checkboxes
Radio buttons

Range / Color / File

Buttons

Progress / Meter / Output

Calculation result: 42.00

{# ════════════════════════════════════════════════════════════ SECTION 2 - CUSTOM TAGS ════════════════════════════════════════════════════════════ #}

Custom Tags

Custom tags defined in base_custom_tags.css. No color attributes, no extra classes.

{# -- Layout ------------------------------------------------- #}
stack

Vertical flex column. gap controls spacing between children.

First child (gap="sm")

Second child

Third child

split-group · split · pos-divider

Horizontal flex row. Children grow equally. pos-divider adds a decorative divider.

Left - pos-divider="right"

Centre

Right

grid-auto · columns · span

Responsive grid. Default 2 columns. span attribute spans the full row.

Cell 1

Cell 2

Cell 3

Full width - span attribute

sidebar-layout · sticky

Two-column grid. Last direct child is always the sidebar.

Main area - grows flexibly to fill the available width.

Sidebar - sticky when scrolled.

{# -- Interaction -------------------------------------------- #}
shrink

Children start at 60% scale, grow to 100% on hover.

theme-block · theme="light|dark"

Only visible when data-theme on a parent matches. Default (no data-theme) = light.

Visible in light mode.

Visible in dark mode.

{# -- Content ------------------------------------------------ #}
card · type · hoverable · icon default

Elevated bg, border, shadow.

surface

Inverted text via prose[inverted].

ghost

Transparent, no border.

flat

No shadow, no border.

sidebar

For sidebar layouts.

service

For service or feature overviews.

data 98.4% Uptime last 30 days System status: all services operational. Online hoverable

Hover to see border + shadow change.

icon

First child becomes icon badge slot.

icon + hoverable

Combined modifiers.

prose · inverted · width

prose - default

Typographic content block with vertical rhythm and muted paragraph colour.

  • List item A
  • List item B with a link

prose[inverted]

Flips to inverted palette. Links get inverted colours automatically: example link.

badge · type · nopill default primary success warning danger surface nopill modifier

Inline usage: Status Active Plan Pro Renewal Soon

eyebrow · type="muted|inverted" default eyebrow muted eyebrow inverted eyebrow (on surface)
meta-row

Horizontal row of small meta items with dot separators via CSS.

Category 12 June 2025 5 min read 3 comments
infobox

Always-visible ? indicator. Direct child shown as popup on hover.

This term needs an explanation

This is the explanatory popup content of the infobox element.

and the sentence continues after it.

tooltip · show="top|bottom|left|right"

Hover popup anchored to the preceding sibling. Parent needs position: relative.

Tooltip above.

Tooltip below.

Tooltip right.

Tooltip left.

{# ════════════════════════════════════════════════════════════ SECTION 3 - COLOR COMPONENTS ════════════════════════════════════════════════════════════ #}

Color Components

Attributes from base_color_components.css. Note: bordercolor requires border-style and border-width set separately - never in the same inline style, as that would override the attribute via inline specificity.

{# -- txtcolor ----------------------------------------------- #}
txtcolor

primary

primary-light

primary-dark

secondary

secondary-light

secondary-dark

accent

success

warning

danger

info

text-muted

text-heading

text-label

link

link-visited

{# -- bgcolor ------------------------------------------------ #}
bgcolor

primary

primary-light

primary-subtle

secondary

accent

success

success-bg

warning

warning-bg

danger

danger-bg

info

info-bg

surface

bg-elevated

bg-sunken

{# -- bordercolor -------------------------------------------- #}
bordercolor - uses .sc-bordered helper class, not inline border style

primary

secondary

accent

success

warning

danger

info

border-strong

primary-dark

secondary-dark

focus

text-muted

{# -- Hover variants ----------------------------------------- #}
bgcolor-hover · txtcolor-hover · bordercolor-hover

Applied on :hover. Combine freely with base attributes. Transition must be set inline or via class.

{# -- Combined real-world examples --------------------------- #}
combined - custom tags + color components card + bgcolor + bordercolor

bgcolor="primary-subtle" bordercolor="primary"

card + success palette

All three attributes from color components.

card + danger palette

All three attributes from color components.

meta-row + badge inline

Published 12 June 2025 4 min read New Draft
surface card + prose[inverted]

Paragraph on dark surface. Inverted link gets palette automatically.

surface badge
{# ════════════════════════════════════════════════════════════ SECTION 4 - COLOR PALETTE REFERENCE ════════════════════════════════════════════════════════════ #}

Color Palette Reference

All CSS custom properties from base_colors.css. Swatches shown in both light and dark context.

Light
Dark
Variable
--color-primary
--color-primary-light
--color-primary-dark
--color-primary-subtle
--color-secondary
--color-secondary-light
--color-secondary-dark
--color-accent
--color-bg
--color-bg-elevated
--color-bg-sunken
--color-surface
--color-surface-alt
--color-surface-hover
--color-border
--color-border-strong
--color-border-input
Light
Dark
Variable
--color-success
--color-success-bg
--color-warning
--color-warning-bg
--color-danger
--color-danger-bg
--color-info
--color-info-bg
--color-text
--color-text-muted
--color-text-inverted
--color-text-placeholder
--color-text-heading
--color-text-label
Light
Dark
Variable
--color-link
--color-link-hover
--color-link-visited
--color-link-inverted
--color-link-inverted-hover
--color-link-inverted-visited
--color-shadow
--color-shadow-strong
--color-focus
--color-focus-shadow
--color-overlay-light
--color-overlay-medium
--color-backdrop
--color-backdrop-heavy