Þemu
Lily-íhlutir bera stöðuga klasakróka og ekkert CSS — svo þema er einfaldlega stílblað. Þetta kennsluefni fer frá „tengdu eina skrá“ til „leyfðu notandanum að skipta um þema á keyrslutíma, vistað“.
Það sem þú munt byggja
Forrit þar sem notandinn getur breytt öllu útlitinu — byrjar með einu tengdu stílblaði og endar með vistuðum þemaskipti á keyrslutíma — á um 15 mínútum.
Áður en þú byrjar
Ljúktu við rammakennsluefnið fyrst fyrir þinn stafla, svo þú hafir lítið Lily-eyðublað til að setja þema á. Allt hér virkar í öllum rammanum sjö; kóðadæmin sýna Svelte og hreint HTML.
Skref 1 — Tengdu tilbúið þema
themes/ mappan inniheldur 45 sjálfstæð stílblöð. Afritaðu þau í kyrrstæðar eignir forritsins og tengdu eitt:
<link rel="stylesheet" href="/assets/themes/united-kingdom-national-health-service-england-for-patients.css" />
Hápunktar settsins:
-
Opinber geiri — NHS England / Scotland / Wales, hvert í útgáfum fyrir sjúklinga og fagfólk; GOV.UK (
united-kingdom-government-digital-service); USWDS (united-states-web-design-system). - Innblásið af söluaðilum —
adobe-spectrum,mozilla-protocol. -
Almenn notkun —
light,dark,nord,dracula,wireframe,corporate,synthwave, og mörg fleiri.
Athugaðu verkið: endurhladdu síðuna. Sama markup og þú byggðir í rammakennsluefninu er nú fullstílað — hnappar, innsláttarreitir, merkimiðar, fókushringir. Ein lína af HTML gerði það — hver íhlutur var nákvæmlega eins og hann var.
Skref 2 — Hnekktu hverju sem er
Þemaveljarar eru vafðir í :where(...)sem hefur núll sértækni — svo hvaða regla sem þú skrifar vinnur, einfaldlega:
/* After the theme link: your brand button, everything else themed */
.button {
background: #7c3aed;
border-radius: 9999px;
}
Skref 3 — Skipti á keyrslutíma með theme-picker
theme-picker hjálpartækið er höfuðlaus táknhnappur + valmöguleikalisti sem á allan lífsferil þemans: það hleður völdu stílblaði með því að skipta um eitt stýrt <link>
(aðeins virka þemað er nokkurn tíma sótt), stillir
data-theme="{slug}" á skjalið og vistar valfrjálst í localStorage. Svelte er sýnt hér; React-, Vue-, Angular-, HTML-, Nunjucks- og Blazor-færslur samsvara samningur fyrir samning:
<script>
import ThemePicker from "@lilydesignsystem/svelte-theme-picker";
</script>
<ThemePicker
label="Theme"
themesUrl="/assets/themes/"
themes={["light", "dark", "nord", "wireframe"]}
storageKey="my-app-theme"
/>
Þetta er öll samþættingin. Lyklaborðshegðun fylgir WAI-ARIA APG valmöguleikalistamynstrinu; stýringin sjálf er höfuðlaus (klasakrókur
.theme-picker), svo hún tekur upp hvaða þema sem er virkt.
Staðfest 2026-08-29: þetta nákvæma snifs var þýtt gegn útgefna 0.1.1 pakkanum í gegnum
svelte/server.
Skref 4 — Bregðast við þemanu í þínu eigin CSS
Þar sem hjálpartækið stillir data-theme á rót skjalsins geta þínir eigin stílar greinst eftir því:
[data-theme="dark"] .site-logo { filter: invert(1); }
Athugasemdir um miðlarabirtingu
Hjálpartækið framkvæmir öll DOM-skrif innan mount/effect lífsferils rammans, svo það er SSR-öruggt frá grunni. Til að forðast blikk við fyrstu málningu skaltu birta <link> og
data-theme upphafsþemans á miðlaranum (til dæmis úr köku) — Svelte-hjálpargeymslan sendir keyranlegt SvelteKit-kökudæmi og hin söfnin skjalfesta sama mynstur fyrir sína stafla.
Næstu skref
- Stillingahjálpartæki — sama mynstur fyrir tungumál, textastærð, deilingu og dagsetninga-/tímainnslátt.
- Leggðu til þema — hvert er eitt sjálfstætt stílblað sem miðar á klasakrókana; sjá framlag.
Spurningar á leiðinni? hjálparsíðan er full af svörum — og ef skref gæti verið skýrara, segðu okkur og við bætum kennsluefnið með ánægju.