Ten kod CSS definiuje niestandardową rodzinę czcionek o nazwie "Guardian Headline Full" z wieloma wagami i stylami czcionek. Określa pliki czcionek w różnych formatach (WOFF2, WOFF i TrueType) oraz ich lokalizacje online, aby przeglądarka mogła je pobrać i używać. Czcionka obejmuje wagi: light (300), regular (400), medium (500) i semibold (600), każda w stylach normalnym i italic.
@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.ttf) format("truetype");
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.ttf) format("truetype");
font-weight: 700;
font-style: italic;
}
@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.ttf) format("truetype");
font-weight: 900;
font-style: normal;
}
@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.ttf) format("truetype");
font-weight: 900;
font-style: italic;
}
@font-face {
font-family: Guardian Titlepiece;
src: url(https://interactive.guim.co.uk/fonts/garnett/GTGuardianTitlepiece-Bold.woff2) format("woff2"),
url(https://interactive.guim.co.uk/fonts/garnett/GTGuardianTitlepiece-Bold.woff) format("woff"),
url(https://interactive.guim.co.uk/fonts/garnett/GTGuardianTitlepiece-Bold.ttf) format("truetype");
font-weight: 700;
font-style: normal;
}
@media (min-width: 71.25em) {
.content__main-column--interactive {
margin-left: 160px;
}
}
@media (min-width: 81.25em) {
.content__main-column--interactive {
margin-left: 240px;
}
}
.content__main-column--interactive .element-atom {
max-width: 620px;
}
@media (max-width: 46.24em) {
.content__main-column--interactive .element-atom {
max-width: 100%;
}
}
.content__main-column--interactive .element-showcase {
margin-left: 0;
}
@media (min-width: 46.25em) {
.content__main-column--interactive .element-showcase {
max-width: 620px;
}
}
@media (min-width: 71.25em) {
.content__main-column--interactive .element-showcase {
max-width: 860px;
}
}
.content__main-column--interactive .element-immersive {
max-width: 1100px;
}
@media (max-width: 46.24em) {
.content__main-column--interactive .element-immersive {
width: calc(100vw - var(--scrollbar-width));
position: relative;
left: 50%;
right: 50%;
margin-left: calc(-50vw + var(--half-scrollbar-width)) !important;
margin-right: calc(-50vw + var(--half-scrollbar-width)) !important;
}
}
@media (min-width: 46.25em) {
.content__main-column--interactive .element-immersive {
transform: translate(-20px);
width: calc(100% + 60px);
}
}
@media (max-width: 71.24em) {
.content__main-column--interactive .element-immersive {
margin-left: 0;
margin-right: 0;
}
}
@media (min-width: 71.25em) {
.content__main-column--interactive .element-immersive {
transform: translate(0);
width: auto;
}
}
@media (min-width: 81.25em) {
.content__main-column--interactive .element-immersive {
max-width: 1260px;
}
}
.content__main-column--interactive p,
.content__main-column--interactive ul {
max-width: 620px;
}
.content__main-column--interactive:before {
position: absolute;
top: 0;
height: calc(100% + 15px);
min-height: 100px;
content: "";
}
@media (min-width: 71.25em) {
.content__main-column--interactive:before {
border-left: 1px solid #dcdcdc;
z-index: -1;
left: -10px;
}
}
@media (min-width: 81.25em) {
.content__main-column--interactive:before {
left: -10px;
}
}
Dla interaktywnej głównej kolumny, lewa ramka jest dodawana przed treścią, umieszczona 11 pikseli w lewo. Elementy w tej kolumnie nie mają marginesów górnych ani dolnych, ale zawierają 12 pikseli wypełnienia zarówno u góry, jak i na dole. Gdy po akapicie następuje element, wypełnienie jest usuwane, a zamiast tego stosowane są marginesy o wielkości 12 pikseli. Elementy liniowe są ograniczone do maksymalnej szerokości 620 pikseli, co dotyczy również figur liniowych na ekranach szerszych niż 61.25em.
Niestandardowe właściwości definiują kolory dla różnych elementów, takich jak dateline, ramka nagłówka, tekst podpisu i tło, z kolorem funkcji ustawionym na czerwony i nowym kolorem filaru domyślnie ustawionym na kolor podstawowy lub funkcji. Elementy z klasą atom nie mają wypełnienia.
Dla pierwszego akapitu po określonych elementach lub poziomej linii w różnych obszarach treści, dodawane jest górne wypełnienie o wysokości 14 pikseli. Pierwsza litera tych akapitów jest stylizowana dużym, pogrubionym, wielkim krojem w określonym kolorze, unosząc się po lewej stronie z marginesem i wyrównaniem pionowym.
Dodatkowo, akapity bezpośrednio po poziomej linii w tych obszarach nie mają górnego wypełnienia.
Cytaty wydzielone w określonych obszarach treści mają maksymalną szerokość 620 pikseli.
Podpisy elementów showcase w głównej treści i kontenerach artykułów są pozycjonowane statycznie z pełną szerokością, również ograniczoną do 620 pikseli.
Elementy immersyjne rozciągają się na pełną szerokość viewportu minus pasek przewijania. Na ekranach o szerokości do 71.24em, te elementy są ograniczone do 978 pikseli, z wypełnieniem podpisów 10px na mniejszych ekranach i 20px na średnich. Pomiędzy 46.25em a 61.24em, maksymalna szerokość wynosi 738 pikseli. Poniżej 46.24em, elementy immersyjne wyrównują się do lewej krawędzi z dostosowanymi marginesami i wypełnieniem podpisów 20px na średnich ekranach.
Dla opakowań meblowych na większych ekranach (61.25em i więcej), używany jest układ siatki z zdefiniowanymi kolumnami i wierszami. Nagłówki mają górną ramkę, sekcje meta mają górne wypełnienie, a elementy standfirst zawierają stylizowane linki z podkreśleniami, które zmieniają kolor po najechaniu. Początkowo, pierwszy akapit w standfirst ma górną ramkę, która jest usuwana na szerszych ekranach (71.25em i powyżej). Figury w opakowaniu nie mają dolnego marginesu i mają lewe przesunięcie, z elementami liniowymi ograniczonymi do 630 pikseli. Na największych ekranach siatka dostosowuje swoją strukturę kolumn dla lepszego układu.
Układ używa siatki z określonymi kolumnami i wierszami dla różnych rozmiarów ekranu. Na większych ekranach siatka dostosowuje się, aby mieć trzy równe kolumny dla sekcji tytułu, nagłówka i meta, następnie pięć dla standfirst i osiem dla portretu, z wysokościami wierszy ustawionymi jako ułamki. Cienka linia pojawia się nad sekcją meta, a standfirst ma pionową linię po lewej stronie.
Nagłówki są pogrubione i zmieniają rozmiar i szerokość w zależności od ekranu: do 620px szerokości i 32px czcionki na mniejszych ekranach oraz 540px szerokości z 50px czcionką na większych. Niektóre dekoracyjne linie są ukryte na większych ekranach, a elementy udostępniania społecznościowego i komentarzy mają ramki pasujące do koloru nagłówka.
Tekst standfirst ma normalną wagę, rozmiar 20px, z wypełnieniem na dole i jest lekko przesunięty w lewo z lewym wypełnieniem. Obrazy głównego medium wypełniają szerokość i dostosowują marginesy dla różnych rozmiarów ekranu, z podpisami umieszczonymi na dole z kolorem tła i niestandardowym kolorem tekstu. Na bardzo małych ekranach medium rozciąga się na pełną szerokość viewportu minus pasek przewijania.
Opakowanie meblowe ustawia ciemne tło i dostosowuje marginesy oraz wypełnienie dla różnych rozmiarów ekranu. Na większych ekranach dodaje dekoracyjne paski boczne. Nagłówki są stylizowane pogrubionym, jasnoszarym tekstem, a informacje meta używają podobnych kolorów. Przyciski mediów społecznościowych mają wyróżniający się kolor, który zmienia się po najechaniu, przełączając kolory tekstu i tła dla kontrastu. Podpisy są domyślnie ukryte, ale można je przełączyć przyciskiem, a różne elementy dostosowują swoją widoczność i układ w zależności od szerokości ekranu i innych warunków.
Elementy z klasą "furniture-wrapper" i ich elementy potomne mają określone reguły stylizacji:
- Linki w sekcji meta są kolorowane przy użyciu niestandardowej właściwości dla koloru filaru lub funkcji trybu ciemnego, z tym samym kolorem zastosowanym po najechaniu zarówno dla tekstu, jak i podkreślenia.
- Linki w standfirst nie mają ramki, używają koloru filaru lub funkcji trybu ciemnego dla tekstu, usuwają obrazy tła i mają podkreślenia z przesunięciem 6px i kolorem ramki nagłówka. Po najechaniu kolor podkreślenia zmienia się na kolor filaru lub funkcji trybu ciemnego.
- Akapity i elementy listy w standfirst są kolorowane na jasny szary (#dcdcdc).
- Dla większych ekranów (min-width: 61.25em), pierwszy akapit w standfirst ma górną ramkę, która jest usuwana przy jeszcze większych punktach przerwania (min-width: 71.25em).
- Pseudoelementy (:before i :after) są używane do tworzenia pasków bocznych z ciemnymi tłami i ramkami, dostosowując ich szerokość i pozycję w zależności od rozmiaru viewportu i szerokości paska przewijania dla różnych rozmiarów ekranu.
- Linie kluczowe i elementy społecznościowe/komentarzy w sekcji meta używają koloru ramki nagłówka dla obrysów i stylizacji.
Sekcja komentarzy ma kolor ramki pasujący do koloru ramki nagłówka.
W artykułach, nagłówki drugiego poziomu mają lekki stopień pisma 200. Jednakże, jeśli nagłówek drugiego poziomu zawiera element pogrubiony, używa cięższego stopnia pisma 700.
Dodatkowo, rodzina czcionek Guardian Headline Full jest zdefiniowana z różnymi stylami i wagami, włączając light, regular, medium i semibold, każda dostępna w wersjach normalnych i italic. Te czcionki są pozyskiwane z określonych adresów URL w formatach WOFF2, WOFF i TrueType.
Ten kod CSS definiuje kilka rodzin czcionek i ich wariacje dla strony Guardian. Określa różne wagi i style czcionek (jak bold, italic, semibold, black) dla czcionki "Guardian Headline Full", każdą z wieloma formatami plików (WOFF2, WOFF, TTF) dla kompatybilności między przeglądarkami. Dodatkowo, zawiera czcionkę "Guardian Titlepiece" w wersji bold.
Kod również ustawia niestandardowe właściwości CSS (zmienne) dla kolorów, dostosowując je dla trybu ciemnego na urządzeniach iOS i Android. Zawiera zapytania medialne do obsługi preferencji trybu ciemnego i stosuje specyficzne stylizowanie do pierwszej litery akapitów w kontenerach artykułów na platformach iOS i Android, szczególnie gdy następują po określonych elementach takich jak atomy lub bramki logowania.
Dla urządzeń z Androidem i iOS, pierwsza litera pierwszego akapitu w standardowych i komentarzowych artykułach jest stylizowana kolorem drugorzędnego filaru. Wysokość nagłówka artykułu jest ustawiona na zero, podczas gdy opakowanie meblowe ma wypełnienie 4px u góry, 10px po bokach i brak na dole.
Etykiety treści w opakowaniu meblowym używają pogrubionej, kapitalizowanej czcionki z rodziny Guardian headline w nowym kolorze filaru. Nagłówki mają 32px, są pogrubione, z dolnym wypełnieniem 12px i ciemnoszarym kolorem.
Obrazy w opakowaniu meblowym są pozycjonowane względnie, z górnym marginesem 14px, bez dolnego marginesu i lewym marginesem -10px. Ich szerokość rozciąga się na pełny viewport minus szerokość paska przewijania, a ich wysokość dostosowuje się automatycznie. Wewnętrzne elementy figure, obrazy i linki wewnątrz tych figur dziedziczą te