Przejdź do głównej zawartości

Logotypy i pole ochronne

Techniczny: DraftAkceptacja: Approved

Logotyp to lew i nazwa w jednym pliku. Własny ma każda z sześciu marek: insurance, home, health, moto, travel i monochrome, a każda z nich w wersji na jasne i na ciemne tło. Pliki wydaje paczka @polisoteka/design-brand. Znaku nie rysujemy, nie poprawiamy i nie trzymamy w drugim miejscu.

Wybór rozstrzygają trzy pytania. Na żadne nie trzeba pytać grafika.

Mieści się nazwa? Tak: logotyp. Nie, bo miejsce jest małe i kwadratowe: sygnet.

Układ wnosi dość odstępu? Pole ochronne rośnie razem ze znakiem, a padding z tokenów jest stały. -trim wystarcza, gdy padding układu ma co najmniej h/5, gdzie h to wysokość znaku w tym układzie. Poniżej tego progu bierz plik z polem ochronnym w środku. Materiał, który wychodzi poza nasz kod (druk, plik dla partnera, media kit), bierze wersję z polem zawsze, bo po drugiej stronie nikt nie zna naszej skali odstępów.

Wysokość znakuPadding co najmniejKrok skali, który to daje
32 px6,4 px8 px (space.inline-sm, space.stack-sm)
40 px8 px8 px (space.inline-sm, space.stack-sm)
80 px16 px16 px (space.inline-lg, space.page-gutter, space.stack-md)
120 px24 px24 px (space.stack-lg)
160 px32 px32 px (space.stack-xl)

Powyżej 160 px nie wystarcza już żaden token odstępu: największy padding w skali, space.stack-xl, ma 32 px. Znak większy od tego progu bierze plik z polem ochronnym w środku.

Jakie jest tło? Jasne: plik bez sufiksu. Ciemne: -dark. Wariantu nie robimy filtrem z drugiego pliku.

PlikPostaćTło
logo.svgpole ochronne w plikujasne
logo-dark.svgpole ochronne w plikuciemne
logo-trim.svgprzycięty do rysunkujasne
logo-trim-dark.svgprzycięty do rysunkuciemne

Portal pokazuje wyłącznie swój logotyp: insurance nie sięga po znak home. monochrome jest pełnoprawnym zestawem do panelu operatora, druku jednokolorowego i zestawień z cudzym znakiem. Nie jest zamiennikiem logotypu portalu, gdy kolor jest dostępny.

insurance — przedsiębiorca i pracodawca

Logotyp Polisoteka® insurance na jasnym tle
Logotyp Polisoteka® insurance na ciemnym tle

home — dom i mieszkanie

Logotyp Polisoteka® home na jasnym tle
Logotyp Polisoteka® home na ciemnym tle

health — zdrowie

Logotyp Polisoteka® health na jasnym tle
Logotyp Polisoteka® health na ciemnym tle

moto — pojazd

Logotyp Polisoteka® moto na jasnym tle
Logotyp Polisoteka® moto na ciemnym tle

travel — podróż

Logotyp Polisoteka® travel na jasnym tle
Logotyp Polisoteka® travel na ciemnym tle

monochrome — wersja jednobarwna

Logotyp Polisoteka® monochrome na jasnym tle
Logotyp Polisoteka® monochrome na ciemnym tle

Kolory w znaku są ustalone. Napis „Polisoteka” razem z ® niesie color.text.primary: #0B1326 na jasnym tle i #F8F9FB na ciemnym. Druga linia ze słowem portalu ma stopień 500 rampy swojej marki, w obu wersjach ten sam. insurance i monochrome drugiej linii nie mają.

Jednostką odstępów znaku jest x. Liczy się z wysokości lwa h: x = h/5. Dziś h ma 130 px, więc x to 26 px. Lew jest jedynym elementem wspólnym dla wszystkich sześciu marek, więc odstęp liczony z jego wysokości zostaje ten sam także wtedy, gdy zmieni się napis.

Tą jedną jednostką idą wszystkie odstępy znaku:

  • pole ochronne wokół logotypu: x z każdej strony;
  • odstęp lwa od słowa „Polisoteka”: x;
  • pole ochronne wokół sygnetu: x;
  • zestawienie ze znakiem partnera: 2x między znakami.

W polu ochronnym nie stoi nic: ani tekst, ani krawędź kontenera, ani obrazek, ani drugi znak.

Pole ochronne logotypu: ramka x wokół znaku i kwadraty x w rogach, marka insurance

logo.svg i logo-dark.svg niosą to pole w środku pliku. Nie dokładaj do nich paddingu: wyjdzie 2x i znak zacznie pływać w swoim kontenerze. Odstęp z tokenów dokładasz wyłącznie do plików -trim.

Pliki mają we wszystkich sześciu markach te same wymiary: logo.svg 461 × 182 px, logo-trim.svg 409 × 130 px. Wysokość jest wspólna, bo wyznacza ją lew. W układzie ustawiasz wysokość, szerokość wynika z proporcji.

Minimalna wysokość logotypu to 32 px na ekranie (size.logo-sm) i 12 mm w druku (size.logo-print-min). Minimum druku ma jednostkę fizyczną, bo arkusz nie ma piksela CSS. Sygnet schodzi do 16 px na ekranie — poniżej tej wielkości idzie favicon, nie sygnet — i do 6 mm w druku (size.mark-print-min). Tak wygląda jedno i drugie w minimalnej wielkości na ekranie:

Logotyp Polisoteka® insurance na jasnym tle, wysokość 32 px
logotyp 32 px
Sygnet Polisoteka® insurance na jasnym tle, wysokość 16 px
sygnet 16 px
Logotyp Polisoteka® insurance na ciemnym tle, wysokość 32 px
logotyp 32 px
Sygnet Polisoteka® insurance na ciemnym tle, wysokość 16 px
sygnet 16 px
// Tak: plik przycięty, odstęp z tokenów, wysokość steruje skalą.
// Wysokość idzie przez var(), nie przez klasę: Tailwind czyta `--size-*`
// wyłącznie w narzędziu `size-*`, które ustawia SZEROKOŚĆ RAZEM Z WYSOKOŚCIĄ.
// `size-logo-sm` skompiluje się i wciśnie znak w kwadrat — a to jest właśnie
// rozciągnięcie, którego zabrania ta strona. Klasy `h-logo-sm` nie ma.
<header className="flex items-center gap-inline-md px-page-gutter py-stack-md">
<a href="/" aria-label="Polisoteka, strona główna">
<img
src="/brand/insurance/logo-trim.svg"
alt="Polisoteka®"
style={{ height: "var(--size-logo-sm)", width: "auto" }}
/>
</a>
</header>
// Nie
<header className="flex items-center gap-inline-md px-page-gutter py-stack-md">
<img
src="/brand/logo.svg"
alt="Polisoteka®"
style={{ height: "40px", width: "120px", filter: "brightness(0) invert(1)" }}
/>
</header>

Kontrprzykład ma trzy błędy:

  • Plik z polem ochronnym w układzie, który sam wnosi padding: odstęp robi się podwójny i niesymetryczny wobec reszty nagłówka. Tu należy -trim.
  • Wymiary wpisane z ręki: wysokość przychodzi z tokenu size.logo-*, a szerokość z proporcji pliku. Wpisana liczba rozciąga znak. Ten sam błąd robi klasa size-logo-sm, która zadaje oba wymiary naraz.
  • filter zamiast logo-dark.svg: wersja ciemna zrobiona z jasnego pliku gubi kolor marki i brudzi krawędzie.
Nie robimyTak to wyglądaDlaczego
Rozciągania i spłaszczania
Tak nie robimy: znak przeskalowany nierównomiernie; czerwona ramka i przekreślenie jako sygnał „nie"
Znak skaluje się wyłącznie proporcjonalnie
Przerysowywania, obracania, przycinania rysunku
Tak nie robimy: znak obrócony; czerwona ramka i przekreślenie jako sygnał „nie"
Geometria jest wspólna dla wszystkich plików znaku; zmiana w jednym rozjeżdża całą paczkę
Zmiany koloru znaku
Tak nie robimy: lew przemalowany na kolor spoza znaku; czerwona ramka i przekreślenie jako sygnał „nie"
Kolor znaku ma własną wartość i nie jest rolą semantyczną do przemapowania
Cienia, obrysu, poświaty i gradientu spoza pliku
Tak nie robimy: cień dorysowany pod znakiem; czerwona ramka i przekreślenie jako sygnał „nie"
Znak jest płaski
Tła bez kontrastu i tła ze zdjęciem pod znakiem
Tak nie robimy: wariant na jasne tło postawiony na ciemnym; czerwona ramka i przekreślenie jako sygnał „nie"
Wariant wybieramy do faktycznego tła, nie na oko
Wstawiania czegokolwiek w pole ochronne
Tak nie robimy: sąsiad wchodzący w pole ochronne; czerwona ramka i przekreślenie jako sygnał „nie"
Pole istnieje po to, żeby znak stał sam
Składania naszego znaku z cudzym w jeden rysunek
Tak nie robimy: znak partnera nachodzący na nasz znak; czerwona ramka i przekreślenie jako sygnał „nie"
Dwa znaki stoją obok siebie, nienaruszone
Własnego pliku znaku gdziekolwiek w repozytorium—Znak ma jedno źródło; nowy plik czerwieni bramkę paczki

Kolor znaku ma osobną stronę: Kolor. Znak obok znaku partnera ma własne reguły kolejności i odstępu: co-branding.

Nazwa w prozie rządzi się osobną regułą: „Polisoteka®” jest nieodmienne i zawsze nosi ®. Zapis i przykłady: słownik.

Na gotowym materiale sprawdź pięć rzeczy:

  1. Plik pasuje do układu: znak w naszym komponencie jest -trim, znak w materiale wychodzącym na zewnątrz ma pole ochronne w środku.
  2. Wokół znaku nie ma drugiego odstępu ani żadnej treści bliżej niż x.
  3. Wariant pasuje do tła, a znak nie jest przefiltrowany z drugiego wariantu.
  4. Proporcje zgadzają się z plikiem: szerokość wynika z wysokości, nie z wpisanej liczby.
  5. Znak nie jest mniejszy niż minimum: 32 px logotyp, 16 px sygnet, a na wydruku 12 mm logotyp i 6 mm sygnet.

Bramka pnpm -F @polisoteka/design-brand run check:brand pilnuje samych plików: skrótów dostawy, odtwarzalności pochodnych i tego, że żaden plik znaku nie żyje w repozytorium poza paczką. Tego, czy znak jest dobrze użyty na stronie, nie zmierzy. To zostaje przy review.

Jedna marka, pięć portali, Sygnet, favicon i awatary, Co-branding i oznaczenie TU, Kolor, Odstępy i rytm, paczka znaku — źródło w repo: packages/design/brand/README.md.