Vodoinstalace
Přijede první.
Živý přehled systému — tokeny, komponenty a jejich stavy. Referenční stránka pro kontrolu každého nového tématu: co tu není, neexistuje (PRINCIPLES §10).
Téma se přepíná v panelu vpravo dole — stejném, jakým se na klientských stránkách přehazují bloky.
Scrolluj pomalu. Prvky přijíždějí kaskádovitě, každý jen jednou. Tlačítkem vpravo dole spustíš znovu.
Přijede první.
O 90 ms později.
A nakonec tahle.
Řemeslo, na které se dá spolehnout.
Výchozí. Posun zdola + prolnutí.
Jen prolnutí. Pro velké fotky.
Dosedne z 96 %. Pro karty.
Zprava doleva.
Zleva doprava.
Rozostření. Jen pro hero.
Vše respektuje systémové „omezit pohyb". Bez JS zůstane obsah viditelný a statický.
Primární — jediná plná škála
50100200300400500600700800900Brand se používá napříč celým systémem, takže si zaslouží plnou, ručně doladěnou škálu. Ostatní role mají jen tolik odstínů, kolik jich něco vykresluje — token, který nikde není vidět, nejde při tvorbě tématu zkontrolovat.
Sekundární — druhá barva brandu
basestrongPrimární jedná (buttony, odkazy), sekundární zdůrazňuje (značky, čísla). Jednobarevný brand ji nastaví na odstín primární — nic se nerozbije.
Dva tokeny, protože značka a slovo nejsou stejná práce: base
je barva, která se má vidět (tečka, linka u citátu), strong ta,
která se má číst (čísla). Bezpečnostní žluť měří jako tečka výborně a jako
číslo 1,85:1 — proto se strong měří, nevybírá. Brand s tmavou druhou
barvou nastaví oba tokeny stejně a nic se nehne.
Terciární — akcent (volitelný)
baseTřetí barva brandu, pokud ji brand má
(--color-accent). Nenastavená spadá na sekundární — tady
ve swatchi i v odvozené paletě níže, kde z ní generátor v tom případě
staví „accent" rampu. Vitarent sem dává CTA žlutou: buttony na ni
míří přes --btn-surface, ale teprve deklarovaná jako
barva se propíše do palety a do adminu. Bez
-strong varianty schválně — žlutou nikde nic nečte,
čitelný stupeň dopočítá generátor na 800.
Stavy — čtyři tokeny na roli
podklad · linka a ikona · text na podkladu · text na plné barvě
Úspěch
softbasestrongonVarování
softbasestrongonChyba
softbasestrongonInformace
softbasestrongonOdvozená paleta — co z tématu odchází do adminu
Generuje
backend-data/templates/tools/design_tokens.mjs z tématu výše; jde do
setup/design každého klienta. Odstíny s rámečkem si zvolilo téma samo,
zbytek je dopočítaný v Oklabu podle primárního žebříku.
Proč to není v tématu: drop-core popisuje barvy stupni
(role × 50–900), my úkolem (soft je podklad,
strong text na něm, on text na plné barvě). Osmdesát
ručně vybraných hodnot na klienta by nikdo nevyplnil a většinu z nich nic nevykresluje —
a hlavně by se ztratilo to, co stupeň říct neumí: strong je
naměřená podmínka, ne rung. Proto zůstávají dva jazyky pro psaní a jeden
pro výstup: překlad dělá generátor, a tady je vidět, co z něj vyleze.
Překladová tabulka:
base → 500 a 600 · soft → nejsvětlejší stupeň, který ještě
projde 4,5:1 proti strong (na tmavém tématu naopak nejtmavší) ·
strong → 800 · surface/alt/border →
neutral 50/100/200 · text-muted/text → neutral 600/900.
Text na primární barvě
240+Text na tmavém pozadí
240+Číslo je na všech čtyřech povrchech schválně: pozadí bloku je vlastnost
instance, takže statistika může skončit na kterémkoliv z nich. Na světlých ji nese
--color-secondary-strong, na brandu a inverzu ustoupí zvýraznění čitelnosti
a číslo si vezme text-on-primary / text-on-inverse — jinak by
každá role potřebovala jednu hodnotu na povrch a takovou sadu už nikdo nevyplní.
Fotopodklad (.section--photo)
Text na fotce pod clonou
Text na fotce pod clonou
Kontrola: každý text na každém povrchu musí splnit WCAG AA (PRINCIPLES §9). U fotopodkladu se měří proti nejsvětlejšímu pixelu pod každým řádkem — clona je nastavená na nejsvětlejší hodnotu, která projde na všech fotkách v knihovně, ne na té aktuální.
Úspěch, varování, chyba, informace. Každý stav má čtyři tokeny: podklad, linku, text na podkladu a text na plné barvě.
Plné barvy testují token -on — právě tady jantar
nejčastěji propadne v kontrastu, aniž by to bylo na první pohled vidět.
Hero — Příliš žluťoučký kůň
Vlastní stupeň --text-5xl, jen pro hero. Je to první věc, která odliší jedno téma od druhého — proto stojí samostatně a nic jiného do něj nesmí sklouznout.
Display — Příliš žluťoučký kůň
Perex: Rodinná firma s dvacetiletou tradicí. Postaráme se o vaši koupelnu, kuchyň i celý byt — rychle, čistě a bez starostí.
Běžný odstavec: Voláte instalatéra a nikdo nebere? Známe to. Proto u nás platí jednoduché pravidlo — na telefonu jsme každý všední den od sedmi do pěti a na zprávy odpovídáme do 24 hodin. Vložený odkaz v textu musí být rozeznatelný i bez barvy.
Drobné písmo pro metadata, popisky fotek a právní texty.
Hover ověřit myší, fokus tabulátorem, stisk myší (button se lehce propadne). Poslední testuje dlouhý label.
Předvybraná sada. Šest vah stejné kresby, ~9 000 ikon, MIT licence. Níže placeholdery v jejím stylu.
Před nasazením prvního klienta vyměnit za skutečné Phosphor SVG (BACKLOG). Výměna sady = jeden soubor.
Poměry 16:9, 4:3, 1:1. Třetí rámeček = fallback bez fotky (PRINCIPLES §6).
Jedno pole, jeden button; na úzkém sloupci se dvojice sama zalomí do sloupce, bez breakpointu. Label pole je skrytý (viditelným nadpisem je titulek bloku nad formulářem), validaci dělá form.js stejně jako u kontaktního formuláře. Souhlas neřeší checkbox, ale potvrzovací e-mail — poznámka to říká.
Radio skupina jako dlaždice: skutečný radio input leží neviditelně přes celou kartu, takže klávesnice, validace i odeslání vidí obyčejná radia. Zaškrtnutí kreslí vnitřní ring (nic se neposune), fokus stejný kroužek jako každý ovladač. Druhá skupina je textová s odznakem a nápovědou — odznak sedí kartě na rameni.
Vyplněnou část dráhy drží
scripts/range.js přes --range-fill, hodnotu píše do
řádku pod ovladačem (formát data-range-format="czk",
mezery sází Intl). Bez JS je to funkční nativní range — výplň stojí
na fallbacku a řádek ukazuje výchozí hodnotu z markupu.
Sekce data-step,
tlačítka data-step-next / data-step-prev
(type="button"). „Dál" validuje jen viditelný krok, ve stejném
chybovém jazyce jako submit; odesílá se jednou, na konci. Bez JS se
nic neskrývá — formulář je prostě jedna dlouhá stránka. Zkuste
pokračovat s prázdným polem.
Rozvody vody a odpadů, výměny baterií, připojení spotřebičů. Rychlý servis do 48 hodin.
Tři varovné signály, které byste neměli ignorovat, než bude pozdě a soused zazvoní…
Prostřední karta testuje extrémně dlouhý titulek, pravá chybějící fotku. Najeď myší — karta se nadzvedne a fotka se pomalu přiblíží. Obrázek vede tam co titulek, ale je mimo pořadí tabulátoru: klávesnice ani čtečka se o stejný cíl nezastavují dvakrát.
Jedna karta dostane jiný tvar, ne zmenšenou verzi řady tří — s fotkou se otočí na bok, bez fotky drží obsah na čitelné míře. Čtyři se lámou na 2×2 místo 3+1, neúplná řada začíná vlevo — tam, kde začíná každá jiná. Zmenšuj okno — na tabletu jsou dva sloupce, na mobilu jeden a jedna karta je zase obyčejná karta.
1 karta s fotkou
Otočí se na bok: fotka vedle textu. Rozložení, které má každá „vybraná položka“.
1 karta bez fotky
Není z čeho udělat druhý sloupec, takže tvar dělá proporce: celá šířka, obsah na střed a držený na čitelné míře.
2 karty
Dva sloupce, ne dva ze tří.
Díra po třetí kartě by blok shodila.
4 karty
2×2.
Ne tři a sirotek.
Působí to jako záměr.
A je to všechno, co je.
5 karet
Plná řada.
Plná řada.
Plná řada.
Zbytek zarovnaný vlevo.
Ne uprostřed — oko má pořád stejnou hranu.
Řada, kterou lze listovat. Tlačítka se objeví sama, jakmile je čím listovat — se dvěma kartami vypadá blok přesně jako obyčejná dvojice. Na dotyku se posouvá prstem, na trackpadu dvěma prsty; tlačítka jsou pro myš, která pro vodorovný posun žádné gesto nemá. Poslední karta má schválně krátký text a předposlední dlouhý — podpisy musí zůstat na společné patě.
„Přijeli druhý den, za dopoledne hotovo a po řemeslnících uklizeno. To jsem u žádné firmy nezažila."
„Spolupracujeme třetím rokem na správě dvanácti bytových domů. Spolehlivost, jakou u subdodavatelů hledáte marně."
„Objednávali jsme kuchyň a stůl zároveň a upřímně jsme čekali běh na dlouhou trať plný kompromisů. Přijel zaměřit, za týden přivezl skicu, a od té chvíle jsme se o nic nestarali. Materiál vybíral s námi přímo na pile a ukázal nám, které desky mají hezčí kresbu a proč se některé nehodí do vlhka. Montáž trvala dva dny a po sobě uklidil líp, než jsme čekali. Rok a půl poté nedrhne jediná zásuvka a deska vypadá pořád jako první den. Kdybychom stavěli znovu, voláme na stejné číslo."
„Perfektní práce."
Očíslované kroky spolupráce se společnou spojnicí. Číslo píše CSS čítač, takže přeskládané kroky se přečíslují samy. Pin nese ikonu v barvě secondary, lhůta je metadata. Druhá ukázka je hraniční stav: tři kroky, bez lhůt, jeden s dlouhým názvem — patky se drží, spojnice končí u posledního pinu.
Zajistíme profesionální ocenění vaší nemovitosti, které bude základem pro stanovení výkupní ceny.
Připravíme vám nabídku na míru, která bude zohledňovat hodnotu nemovitosti i další faktory.
Připravíme smlouvy, které garantují vaše práva, a celý proces ověříme notářsky.
Po podpisu smlouvy vám bude vyplacena sjednaná částka a vy můžete dál bydlet ve svém domově.
Zavoláte, my se ptáme. Nic nepodepisujete.
Přijedeme, změříme, probereme možnosti.
Předání a záruka.
V pracovní dny do dvou hodin po celém Brně a okolí do 30 km. O víkendech držíme pohotovost — příplatek najdete v ceníku.
Ano, na veškerou práci 36 měsíců, na použitý materiál dle záruky výrobce.
Nabídka je závazná pro rozsah, který jsme viděli. Pokud se při bourání objeví skrytá vada, zastavíme práci a nejdřív se domluvíme.
Kanály rozepsané po kartách — to, co má kontaktní stránka nabídnout dřív
než formulář. Na homepage zůstává jeden panel vedle formuláře
(.contact-info), tady je z každého kanálu karta.
Řada srovná karty na stejnou výšku — správně, když nesou srovnatelně dlouhý obsah. Prostřední je schválně bez poznámky: takhle vypadá řada, když jedna karta výrazně kratší je, a proto se vedle formuláře skládají pod sebe (PRINCIPLES §8). Povinné údaje drží u spodní hrany a odděluje je linka — je to jiné publikum než adresa nad nimi.
Stejná karta, jen .contact-cards--stack. Každá je přesně
tak vysoká, kolik unese; žádná se nenatahuje na sousedku.
Bezplatný embed, bez API klíče a bez fakturačního účtu — adresa je
v parametru q=. Tlačítko patří mapě, takže bere její šířku
a otevírá navigaci Googlu, ne náš vlastní embed.
Stejná fasáda jako u videa a audia: dokud na ni nikdo neklepne, nejde
ke Googlu jediný požadavek. Pro klienta, který má v zásadách napsáno,
že se nic nenačítá samo — jinak stačí mapa výše.
data-id je adresa tak, jak byste ji napsali do vyhledávání.
Tento text slouží zároveň jako ukázka typografie textové stránky (GDPR, obchodní podmínky) i detailu článku. Správce osobních údajů, společnost Instalatérství a topenářství Jihomoravský region s.r.o., zpracovává osobní údaje v souladu s nařízením GDPR.
Z kontaktního formuláře ukládáme pouze údaje, které nám sami sdělíte:
Údaje nikdy nepředáváme třetím stranám pro marketingové účely.
Údaje uchováváme po dobu nezbytnou pro vyřízení poptávky, nejdéle však 24 měsíců od posledního kontaktu.
Prvky, které redaktor vkládá dovnitř textu — na rozdíl od bloků výše, ze kterých se skládá stránka. Živě je uvidíš v detailu článku.
Tři úrovně, jedna osa. Text drží čtecí míru, tabulky a podobné „ke čtení“
dostanou .is-wide, fotky a videa .is-full.
Běžný odstavec drží čtecí míru — kolem 65 znaků na řádek.
Bez fotky spadne na iniciály — autor bez portrétu je běžnější než s ním.
Deska, která se za rok zkroutí, není vada materiálu. Je to vada trpělivosti.
Ve třech se galerie chová hezky sama od sebe; test je dvanáct. Mřížka se přizpůsobuje šířce, ne počtu, takže poslední řádka nikdy neroztáhne zbylé kusy do nesmyslných rozměrů.
Kliknutím obrázek zvětšíte. Procházet lze šipkami.
Vložený iframe kontaktuje YouTube a nastaví cookies ve chvíli, kdy se stránka otevře. Tohle je zástupný obrázek; nic třetí strany se nenačte, dokud čtenář neklikne.
Vlastní ovládání, protože nativní <audio> se nedá
otémovat. Převíjení potřebuje HTTP Range — když ho server neumí, lišta
to řekne místo toho, aby kliknutí tiše ignorovala.
Z detailu reference. Deska přišroubovaná k práci — dokumentární rejstřík, ne ozdoba. Obojí je v adminu vypnutelné: malá zakázka nemusí mít co vypsat.
Tři varovné signály, které byste neměli ignorovat, než bude pozdě.
Číst článek