'Destul cu atâta eu eu eu': Blake Morrison despre arta memoriilor într-o epocă a supraîmpărtășirii

'Destul cu atâta eu eu eu': Blake Morrison despre arta memoriilor într-o epocă a supraîmpărtășirii

Acest cod CSS definește o familie de fonturi personalizată numită „Guardian Headline Full” cu mai multe greutăți și stiluri de font. Include greutăți light, regular, medium și semibold, fiecare în versiuni normale și italice. Fonturile sunt încărcate de pe serverele Guardian în formatele WOFF2, WOFF și TrueType pentru a asigura compatibilitatea pe diferite browsere.

@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://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/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, 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) {
}
Pentru coloanele de conținut interactiv, se adaugă o bordură stângă cu poziționare și z-index specific. Pe ecrane mai mari, poziția stângă a bordurii se ajustează ușor. În aceste coloane, elementele atomice nu au margini superioare sau inferioare, dar includ padding. Când paragrafele preced elemente atomice, padding-ul este eliminat și se adaugă margini în schimb. Elementele inline sunt limitate la o lățime maximă.

Pentru figurile inline pe ecrane medii și mai mari, se setează o lățime maximă. În secțiunile media care conțin figuri loop, legendele sunt stratificate deasupra, iar butoanele loop sunt stilizate cu dimensiuni și aliniere specifice. Butoanele de legendă sunt plasate deasupra.

În secțiunea body, insulele video self-hosted ocupă lățimea completă până la un maxim, cu margini centrate. Figurile loop și videoclipurile din aceste insule ocupă și ele lățimea completă. Pentru elementele video immersive, constrângerile de lățime sunt eliminate, iar marginile sunt ajustate. Pe ecrane mai mari, videoclipurile immersive se extind în lățime și se deplasează spre stânga, cu legende indentate în consecință.

Variabilele de culoare definesc diverse elemente UI precum datele, bordurile, legendele și culorile de feature, cu culorile pillar influențând subtitlurile, citatele și blocurile de citat. În modul întunecat, aceste culori se adaptează la tema întunecată.

Elementele atomice din coloanele de conținut nu au padding. Reguli specifice ajustează primele paragrafe după anumite elemente sau linii orizontale în diferite zone de conținut precum articole, conținut interactiv, comentarii și features, asigurând spațierea și layout-ul adecvat.
Primul paragraf după o poartă de conectare (sign-in gate) sau o linie orizontală (cu excepția ultimei) are un padding superior de 14 pixeli.

Pentru prima literă a primului paragraf care urmează anumitor elemente precum un atom, o poartă de conectare sau o linie orizontală (nu ultima) în diverse zone de conținut (corpul articolului, conținutul interactiv, comentariile, features sau elementele cu un `data-gu-name` de "body"), se aplică un stil special de majusculă ornamentală (drop cap). Acest stil utilizează anumite fonturi de titlu, setează dimensiunea fontului la 111px cu o înălțime de linie de 92px, îl plasează în flotant la stânga, îl transformă în majuscule, adaugă o margine dreaptă de 8px, îl aliniază la partea superioară a textului și îl colorează cu o variabilă personalizată pentru majuscule ornamentale.

Paragrafele imediat după o linie orizontală în aceste zone de conținut nu ar trebui să aibă padding superior.

Citatele (pullquotes) din aceste zone de conținut sunt limitate la o lățime maximă de 620 de pixeli.

Legendele pentru elementele showcase din conținutul principal, articolele feature, articolele standard și secțiunile de comentarii sunt poziționate static, ocupând lățimea completă până la un maxim de 620 de pixeli.

Elementele immersive acoperă lățimea completă a viewport-ului, ținând cont de bara de derulare. Pe ecrane mai mari (până la 71.24em), lățimea lor maximă este de 978px, cu padding-ul legendei ajustat la diferite puncte de întrerupere (breakpoints). Pe ecrane medii (între 46.25em și 61.24em), lățimea maximă este de 738px. Pe ecrane mai mici (sub 46.24em), elementele immersive se aliniază la marginea stângă cu marginile și padding-ul legendei ajustate.

Pentru ecrane mai late (peste 61.25em), învelișul de mobilier (furniture wrapper) utilizează un layout CSS Grid cu coloane și rânduri definite pentru a poziționa elemente precum titlul, titlul principal (headline), metadatele, standfirst-ul și zona portretului.
Stilurile CSS definesc un înveliș de layout pentru componentele articolului. Titlurile principale (headlines) au o bordură superioară și se ajustează în dimensiune de la 32px la 50px pe ecrane mai mari, cu o lățime maximă care se schimbă și ea. Informațiile meta includ o linie decorativă superioară pe ecrane late. Secțiunea standfirst are linkuri subliniate cu o culoare personalizată care se schimbă la hover, iar primul său paragraf are o bordură superioară pe ecrane mai mici care este eliminată pe cele mai mari. O linie separatoare verticală apare în standfirst pe ecrane late.

Grilele de layout sunt definite pentru ecrane de 71.25em și mai late, și din nou pentru 81.25em și mai late, specificând șabloane de coloane și rânduri pentru poziționarea elementelor precum zona titlului, titlului principal, meta, standfirst și portret. Figurile au margini și lățimi maxime specifice. În general, stilurile controlează prezentarea responsive a antetelor articolelor și a conținutului introductiv.
Pentru ecrane mai late de 740px, ascunde elementele cu clasa `.keyline-4` sau atributul `[data-gu-name="lines"]`. În interiorul `.furniture-wrapper`, stilizează contururile SVG din aceste elemente cu o variabilă de culoare personalizată.

Pe ecrane medii și mai mari, elimină marginea dreaptă din elementele cu ID-ul `#meta` sau atributul `[data-gu-name="meta"]`.

În interiorul secțiunii meta, setează culoarea bordurii pentru linkurile sociale, elementele de comentarii și span-urile lor copil la o variabilă personalizată. De asemenea, ascunde orice elemente `gu-island` dintr-un container specific.

Pentru secțiunea standfirst, ajustează-i poziționarea și padding-ul, adăugând un offset la stânga. Pe ecrane medii, adaugă un mic padding superior. Stilizează paragraful din interior cu o greutate de font regulată, o dimensiune de 20px și padding inferior.

Zona media principală este poziționată relativ, plasată în zona de grid 'portrait' și primește margini specifice. Asigură că div-urile interioare ocupă lățimea completă. Pe ecrane mai mari, elimină marginea inferioară. Pe ecrane mai mici, ajustează lățimea și marginea stângă, cu o ajustare suplimentară pentru ecrane medii-mici.

Stilizează legendele figurilor să apară în partea de jos cu un fundal și o culoare a textului personalizate, suprascriind lățimea și marginile implicite. Ascunde primul span din interior și afișează al doilea, limitându-i lățimea. Pe ecrane medii, ajustează padding-ul legendei. O stare ascunsă face legenda transparentă.

Un buton de legendă este poziționat în dreapta jos, stilizat cu un fundal circular și o iconiță scalată, cu poziția sa ajustată pe ecrane medii.

Pentru coloanele de articole interactive pe ecrane foarte mari, ajustează poziția și înălțimea unui pseudo-element. De asemenea, limitează lățimea titlurilor de nivel 2.

Pe iOS sau Android, definește un set de variabile de culoare pentru tema întunecată. În modul întunecat, ajustează variabila de culoare primară.

Pentru dispozitivele iOS, țintește primul paragraf după anumite elemente în diferite containere de articole și stilizează prima sa literă.
Prima literă a primului paragraf care urmează unei porți de conectare (sign-in gate), sau primul paragraf după un element atom în diferite containere de articole pe iOS și Android, ar trebui să fie colorată folosind variabila pillar secundară (implicit negru).

Pe ambele platforme, iOS și Android, înălțimea antetului articolului în containerele de articole feature, standard și comentarii ar trebui setată la zero.

Învelișul de mobilier (furniture wrapper) din aceste containere de articole pe ambele platforme ar trebui să aibă un padding superior de 4 pixeli și un padding orizontal de 10 pixeli.

Etichetele din interiorul învelișului de mobilier ar trebui să fie îngroșate (bold), să utilizeze familia de fonturi specificată, să își ia culoarea din noua variabilă pillar și să fie capitalizate.

Titlurile principale (h1) din interiorul învelișului de mobilier ar trebui să aibă dimensiunea de 32 de pixeli, să fie îngroșate, să aibă un padding inferior de 12 pixeli și să fie colorate #121212.

Figurile cu imagini din interiorul învelișului de mobilier ar trebui să fie poziționate relativ, să aibă o margine superioară de 14 pixeli, o margine stângă de