Media-Query Changes @media (min-width: 30em) { html { $columns: 6; /* scope only */ --columns: 6; /* 30em+ in browsers! */ }}
$brand-colors: ( 'brand-blue': hsl(195, 52%, 31%), 'brand-orange': hsl(24, 100%, 62%), 'brand-pink': hsl(330, 100%, 45%),);
[data-button] { background: var(--btn-color, blue);}[data-button]:disabled { --btn-color: gray;}[data-button='go'] { --btn-color: green;}
.box { box-shadow: var(--shadow-x, 0) var(--shadow-y, 1px) var(--shadow-blur, 0) var(--shadow-color, currentColor);}.usage { --shadow-y: -1px; }
[data-theme] { background: var(--background); color: var(--text);}[data-theme='light'] { --background: #ddf; --text: #226;}
Hue is Radial * { --complement: calc(var(--h) - 180); background: hsl(var(--complement), var(--s), var(--l));}
Lightness is “Clamped” * { --threshold: 55; --contrast: calc((var(--l) - var(--threshold)) * -100%); color: hsl(var(--h), var(--s), var(--contrast));}
html { @media (prefers-color-scheme: dark) { --os-mode: -1; } @media (prefers-color-scheme: light) { --os-mode: 1; }}
<div style="--index: {{ loop.index }};"> [style*='--index'] { animation-delay: calc(var(--index) * 50ms);}
<div style="--ease: var(--in-out-back);"> [style*='--ease'] { --in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53); --out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94); --in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55);}
<section class="sprite-demo" :style="{ '--src': show.sprite.src, '--columns': show.sprite.columns, '--rows': show.sprite.rows,}">...</section>
<div v-for="action in show.actions" :key="action.name" :data-action="action.name" :style="{ '--row': action.row, }"/>
button { --color: green; background: var(--color); transition: background 0.5s; &:hover { --color: red; }}
Current JavaScript CSS.registerProperty({ name: "--brand-color", syntax: "<color>", initialValue: "pink", inherits: true,});