Mitä teknologia vie meiltä – ja miten se saadaan takaisin | Rebecca Solnit

Mitä teknologia vie meiltä – ja miten se saadaan takaisin | Rebecca Solnit

Tämä CSS-koodi määrittelee mukautetun fontin nimeltä "Guardian Headline Full", jossa on useita tyylejä ja painoja. Se sisältää kevyen, normaalin, keskiraskaan ja puoliraskean version, kukin sekä normaalina että kursiivisena. Fonttitiedostot on tarjottu kolmessa muodossa – WOFF2, WOFF ja TrueType – ja ne sijaitsevat Guardianin palvelimilla.

@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) {
}.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,Artikkelirungon ensimmäisen kappaleen ensimmäinen kirjain, tai tiettyjen elementtien kuten kirjautumisporttien tai vaakaviivojen jälkeen, on tyylitelty suureksi aloituskirjaimeksi. Se käyttää tiettyjä otsikkofontteja, on lihavoitu, isoilla kirjaimilla ja värillinen, kooltaan 111px ja rivikorkeudeltaan 92px, kelluu vasemmalle ja sillä on oikea marginaali.

Vaakaviivojen jälkeisillä kappaleilla ei ole yläpaddingia. Artikkelirungon sisällä olevat lainaukset on rajoitettu enimmäisleveyteen 620px.

Näyttelyelementtien kuvatekstit on sijoitettu staattisesti ja asetettu täyteen leveyteen, enintään 620px.

Immersiiviset elementit ulottuvat koko näkymän leveyteen miinus vierityspalkki. Näytöillä, joiden koko on alle 71.24em, niiden enimmäisleveys on 978px, ja kuvatekstien paddingia on säädetty eri katkaisupisteissä. Alle 46.24em immersiiviset elementit on kohdistettu vasempaan reunaan negatiivisilla marginaaleilla.

Suuremmille näytöille (yli 61.25em) huonekalupakkaus käyttää CSS-grid-asettelua määritellyillä sarakkeilla ja riveillä. Se tyylittelee otsikon reunuksen, metatietojen sijoittelun ja ingressilinkit – poistaen oletusreunukset ja alleviivaukset, samalla kun lisätään mukautettuja alleviivauksia, jotka vaihtavat väriä kursorin ollessa päällä.Näytöille, joiden vähimmäisleveys on 61.25em, ingressielementin ensimmäisellä kappaleella on yläreunus eikä alapaddingia. Kun näytön leveys on vähintään 61.25em ja myös vähintään 71.25em leveä, tämä yläreunus poistetaan.

Näytöille, joiden leveys on vähintään 61.25em, huonekalupakkauksen sisällä olevilla kuvilla ei ole vasenta marginaalia, ja tiettyä roolia omaavilla inline-kuvilla on enimmäisleveys 630px.

Vähimmäisleveydellä 71.25em huonekalupakkaus käyttää grid-asettelua määritellyillä sarakkeilla ja riveillä. Koristeellinen viiva ilmestyy meta-elementin eteen, ja ingressikappaleet menettävät yläreunuksensa, korvaten sen pystysuoralla viivalla vasemmalla puolella.

Kun näkymä saavuttaa 81.25em, grid-malli säätyy sarakkeisiinsa ja riveihinsä, meta-elementin edessä oleva koristeellinen viiva levenee ja ingressin pystysuora viiva siirtyy hieman.

Otsikoilla on enimmäisleveys ja fonttikoko, jotka muuttuvat 71.25em katkaisupisteessä. Tietyt avainviivat piilotetaan suuremmilla näytöillä (61.25em+), ja sosiaalisten/metatietoelementtien reunukset vastaavat otsikon reunuksen väriä. Jotkut metasisältösäiliöelementit piilotetaan.

Ingressiosiolla on vasen marginaali ja padding, ja sen kappaleet on tyylitelty painon, koon ja alapaddingin suhteen. Päämediatila on sijoitettu gridin sisällä ja sillä on tietyt ylä- ja alamarginaalit.CSS-koodi asettaa tyylejä eri elementeille. Se tekee tietyistä diveistä täysleveitä ilman sivumarginaaleja. Suuremmilla näytöillä se poistaa alamarginaalit media-elementeistä. Pienemmillä näytöillä se säätää median leveyksiä ja marginaaleja, mukaan lukien negatiivisia vasempia marginaaleja tietyissä katkaisupisteissä.

Kuvatekstit on sijoitettu absoluuttisesti alareunaan mukautetulla paddingilla, taustalla ja tekst