Co technologia nam zabiera – i jak to odzyskać | Rebecca Solnit

Co technologia nam zabiera – i jak to odzyskać | Rebecca Solnit
Ten kod CSS definiuje niestandardową czcionkę o nazwie "Guardian Headline Full" z wieloma stylami i wagami. Zawiera wersje lekką, regularną, średnią i półgrubą, każdą w stylach normalnym i kursywie. Pliki czcionek są dostarczane w trzech formatach — WOFF2, WOFF i TrueType — i są hostowane na serwerach Guardiana. @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, 0px)); position: relative; left: 50%; right: 50%; margin-left: calc(-50vw + var(--half-scrollbar-width, 0px)) !important; margin-right: calc(-50vw + var(--half-scrollbar-width, 0px)) !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 { border-left: 1px solid #dcdcdc; left: -11px; } } .content__main-column--interactive .element-atom { margin-top: 0; margin-bottom: 0; padding-bottom: 12px; padding-top: 12px; } .content__main-column--interactive p + .element-atom { padding-top: 0; padding-bottom: 0; margin-top: 12px; margin-bottom: 12px; } .content__main-column--interactive .element-inline { max-width: 620px; } @media (min-width: 61.25em) { figure[data-spacefinder-role="inline"].element { max-width: 620px; } } :root { --dateline: #606060; --headerBorder: #dcdcdc; --captionText: #999; --captionBackground: hsla(0, 0%, 7%, 0.72); --feature: #c70000; --new-pillar-colour: var(--primary-pillar, var(--feature)); } :root:root { --subheading-text: var(--secondary-pillar); --pullquote-text: var(--secondary-pillar); --pullquote-icon: var(--secondary-pillar); --block-quote-text: var(--article-text); } :root:root blockquote { --block-quote-fill: var(--secondary-pillar); } @media (prefers-color-scheme: dark) { :root:root:not([data-color-scheme="light"]) { --subheading-text: var(--darkmode-pillar); --pullquote-text: var(--darkmode-pillar); --pullquote-icon: var(--darkmode-pillar); } :root:root:not([data-color-scheme="light"]) blockquote { --block-quote-fill: var(--darkmode-pillar); } } .content__main-column--interactive .element.element-atom, .element.element-atom { padding: 0; } #article-body > div .element-atom:first-of-type + p:first-of-type, #article-body > div .element-atom:first-of-type + .sign-in-gate + p:first-of-type, #article-body > div .element-atom:first-of-type + #sign-in-gate + p:first-of-type, #article-body > div hr:not(.last-horizontal-rule) + p, .content--interactive > div .element-atom:first-of-type + p:first-of-type, .content--interactive > div .element-atom:first-of-type + .sign-in-gate + p:first-of-type, .content--interactive > div .element-atom:first-of-type + #sign-in-gate + p:first-of-type, .content--interactive > div hr:not(.last-horizontal-rule) + p, #comment-body .element-atom:first-of-type + p:first-of-type, #comment-body .element-atom:first-of-type + .sign-in-gate + p:first-of-type, #comment-body .element-atom:first-of-type + #sign-in-gate + p:first-of-type, #comment-body hr:not(.last-horizontal-rule) + p, [data-gu-name="body"] .element-atom:first-of-type + p:first-of-type, [data-gu-name="body"] .element-atom:first-of-type + .sign-in-gate + p:first-of-type, [data-gu-name="body"] .element-atom:first-of-type + #sign-in-gate + p:first-of-type, [data-gu-name="body"] hr:not(.last-horizontal-rule) + p, #feature-body .element-atom:first-of-type + p:first-of-type, #feature-body .element-atom:first-of-type + .sign-in-gate + p:first-of-type, #feature-body .element-atom:first-of-type + #sign-in-gate + p:first-of-type, #feature-body hr:not(.last-horizontal-rule) + p { padding-top: 14px; } #article-body > div .element-atom:first-of-type + p:first-of-type:first-letter, #article-body > div .element-atom:first-of-type + .sign-in-gate + p:first-of-type:first-letter, #article-body > div .element-atom:first-of-type + #sign-in-gate + p:first-of-type:first-letter, #article-body > div hr:not(.last-horizontal-rule) + p:first-letter, .content--interactive > div .element-atom:first-of-type + p:first-of-type:first-letter, .content--interactive > div .element-atom:first-of-type + .sign-in-gate + p:first-of-type:first-letter, .content--interactive > div .element-atom:first-of-type + #sign-in-gate + p:first-of-type:first-letter, .content--interactive > div hr:not(.last-horizontal-rule) + p:first-letter, #comment-body .element-atom:first-of-type + p:first-of-type:first-letter, #comment-body .element-atom:first-of-type + .sign-in-gate + p:first-of-type:first-letter, #comment-body .element-atom:first-of-type + #sign-in-gate + p:first-of-type:first-letter, #comment-body hr:not(.last-horizontal-rule) + p:first-letter, [data-gu-name="body"] .element-atom:first-of-type + p:first-of-type:first-letter, [data-gu-name="body"] .element-atom:first-of-type + .sign-in-gate + p:first-of-type:first-letter, [data-gu-name="body"] .element-atom:first-of-type + #sign-in-gate + p:first-of-type:first-letter, [data-gu-name="body"] hr:not(.last-horizontal-rule) + p:first-letter, #feature-body .element-atom:first-of-type + p:first-of-type:first-letter, Pierwsza litera pierwszego akapitu w treści artykułu lub po określonych elementach, takich jak bramki logowania lub poziome linie, jest stylizowana jako duża inicjała. Używa określonych czcionek nagłówkowych, jest pogrubiona, pisana wielkimi literami i kolorowa, o rozmiarze 111px i wysokości linii 92px, z obieciem do lewej strony i prawym marginesem. Akapity następujące po poziomych liniach nie mają górnego wypełnienia. Cytaty w treści artykułu są ograniczone do maksymalnej szerokości 620px. Podpisy dla elementów showcase są pozycjonowane statycznie i ustawione na pełną szerokość, do 620px. Elementy immersyjne rozciągają się na pełną szerokość okna widoku, minus pasek przewijania. Na ekranach mniejszych niż 71.24em ich maksymalna szerokość wynosi 978px, z dostosowanym wypełnieniem podpisów przy różnych punktach granicznych. Poniżej 46.24em elementy immersyjne są wyrównane do lewej krawędzi z ujemnymi marginesami. Dla większych ekranów (powyżej 61.25em) opakowanie furniture używa układu siatki CSS z zdefiniowanymi kolumnami i wierszami. Stylizuje obramowanie nagłówka, pozycjonowanie metadanych oraz linki w standfirst — usuwając domyślne obramowania i podkreślenia, dodając jednocześnie niestandardowe podkreślenia, które zmieniają kolor po najechaniu. Dla ekranów o minimalnej szerokości 61.25em pierwszy akapit w elemencie standfirst będzie miał górne obramowanie i brak dolnego wypełnienia. Gdy ekran ma co najmniej 61.25em i jednocześnie co najmniej 71.25em szerokości, to górne obramowanie jest usuwane. Dla ekranów o szerokości co najmniej 61.25em, figury wewnątrz opakowania furniture nie mają lewego marginesu, a figury inline z określoną rolą mają maksymalną szerokość 630px. Przy minimalnej szerokości 71.25em, opakowanie furniture używa układu siatki z zdefiniowanymi kolumnami i wierszami. Dekoracyjna linia pojawia się przed elementem meta, a akapity standfirst tracą swoje górne obramowanie, zastąpione pionową linią po lewej stronie. Gdy okno widoku osiągnie 81.25em, szablon siatki dostosowuje swoje kolumny i wiersze, dekoracyjna linia przed elementem meta poszerza się, a pionowa linia w standfirst przesuwa się nieznacznie. Nagłówki mają maksymalną szerokość i rozmiar czcionki, które zmieniają się w punkcie granicznym 71.25em. Pewne linie kluczowe są ukryte na większych ekranach (61.25em+), a obramowania elementów społecznościowych/meta pasują do koloru obramowania nagłówka. Niektóre elementy kontenerów meta są ukryte. Sekcja standfirst ma lewy margines i wypełnienie, a jej akapity są stylizowane pod kątem wagi, rozmiaru i dolnego wypełnienia. Główny obszar mediów jest pozycjonowany wewnątrz siatki i ma określone górne i dolne marginesy. Kod CSS ustawia style dla różnych elementów. Sprawia, że niektóre divy mają pełną szerokość bez marginesów bocznych. Dla większych ekranów usuwa dolne marginesy z elementów mediów. Na mniejszych ekranach dostosowuje szerokości i marginesy mediów, w tym ujemne lewe marginesy przy określonych punktach granicznych. Podpisy figur są pozycjonowane absolutnie na dole z niestandardowym wypełnieniem, tłem i kolorami tekstu. Niektóre spany w podpisach są ukryte lub stylizowane inaczej, jeden jest ukryty, a drugi zajmuje większość szerokości. Przycisk podpisu jest pozycjonowany na dole po prawej stronie z okrągłym designem. Dla interaktywnych kolumn treści dokonuje się korekt pozyc