A little more together
Make room for good work.
Soft colour collects near the perimeter. A mostly opaque backing keeps the centre calm.
Explore this demoMATERIAL / DEVELOPMENT PREVIEW
Diffused perimeter colour. Two quiet contours. A clear place for your content. Veil suggests thin, layered sheets without glass blur or continuously moving decoration.
Light and dark follow the selected palette. Change the parent once; supported surfaces and actions inherit its finish.
A little more together
Soft colour collects near the perimeter. A mostly opaque backing keeps the centre calm.
Explore this demoCSS backgrounds and two contained inset contours. No extra wrapper, image texture or decorative pseudo-element is needed.
A little more together
Soft colour collects near the perimeter. A mostly opaque backing keeps the centre calm.
Explore this demoCSS backgrounds and two contained inset contours. No extra wrapper, image texture or decorative pseudo-element is needed.
Load the optional extension after the core. Veil is not bundled into the core stylesheet.
<!doctype html>
<html lang="en" data-theme="light" data-palette="ocean"
data-material="veil" data-shape="rounded">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>My Veil interface</title>
<link rel="stylesheet" href="/assets/reva/reva.css">
<link rel="stylesheet" href="/assets/reva/reva.veil.css">
</head>
<body>
<main class="container">
<article class="card">
<h1>A clearer space</h1>
<p>One parent sets the material for supported descendants.</p>
<button type="button">Continue</button>
</article>
</main>
</body>
</html><link rel="stylesheet" href="/assets/reva/reva.scoped.css">
<link rel="stylesheet" href="/assets/reva/reva.veil.scoped.css">
<section class="reva" data-material="veil" data-theme="dark"
data-palette="ocean" data-shape="rounded">
<article class="card"><h2>A contained interface</h2></article>
</section>The parent configures the material. Warning and success remain local meanings; native controls retain their interaction and validation.
A calm centre, with softly layered edges.
This native popover inherits Veil too.
Ready for review
A different explicit material stops the inherited treatment. Local re-entry works without resetting the palette.
The parent supplies the material.
A local material can resume inside the solid section.
Load reva.glass.css as well to activate blur here.
Coverage: cards, fieldsets, disclosures, popovers/dialog surfaces, navigation, action controls, text fields, badges, alerts, list rows, tab labels and pagination items. Native checkboxes, radios, switches, progress and meter keep their existing treatment.
Veil requires the modern CSS features already used by RevaCSS, including scope and colour mixing. Unsupported treatment leaves core styling available. The stylesheet adds no modal behavior or ARIA tab interaction.
New development material. The image concept guided this implementation; it is not a pixel-for-pixel reproduction. Browser and physical-device validation are deferred until requested. Existing Glass fixture passes do not validate Veil.