TÀmÀ CSS-koodi mÀÀrittelee mukautetun fonttiperheen nimeltÀ "Guardian Headline Full", jossa on useita fontin paksuuksia ja tyylejÀ. Se sisÀltÀÀ kevyen, normaalin, keskiraskaan ja puoliraskaan paksuudet, joista kullakin on normaali ja kursiivimuunnelmat. Fontit ladataan Guardianin palvelimilta WOFF2-, WOFF- ja TrueType-muodoissa varmistaakseen yhteensopivuuden eri selaimissa.
@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,
EnsimmÀistÀ artikkelirungon ensimmÀisen kappaleen ensimmÀistÀ kirjainta tai tiettyjen elementtien, kuten kirjautumisporttien tai vaakaviivojen, jÀlkeistÀ ensimmÀistÀ kirjainta muotoillaan suureksi tikkukirjaimeksi. SiinÀ kÀytetÀÀn tiettyjÀ otsikkofontteja, se on lihavoitu, isoilla kirjaimilla, kelluu vasemmalle ja vÀritetty teemamuuttujalla.
Vaakaviivojen jÀlkeisillÀ kappaleilla ei ole ylÀpaddingia. Artikkelirungon sisÀllÀ olevat lainaukset rajoitetaan enimmÀisleveyteen 620 pikseliÀ.
NÀyttöelementtien kuvatekstit sijoitetaan staattisesti ja niillÀ on myös enimmÀisleveys 620 pikseliÀ.
Upottavat elementit ulottuvat koko nÀkymÀn leveyteen huomioiden vierityspalkin. Suuremmilla nÀytöillÀ ne rajoitetaan enimmÀisleveyteen, ja kuvatekstien paddingia sÀÀdetÀÀn eri nÀyttökokoja varten. PienemmillÀ mobiilinÀytöillÀ nÀmÀ elementit siirretÀÀn vasempaan reunaan.
LeveÀmmille nÀytöille artikkelin otsikko kÀyttÀÀ CSS Grid -asettelua. TÀmÀ ruudukko jÀrjestÀÀ otsikon, pÀÀotsikon, metatiedot, johdantoteksti (standfirst) ja muotokuvat. PÀÀotsikko saa ylÀreunan, metatiedot sijoitetaan pienellÀ ylÀpaddingilla, ja johdantotekstin linkit alleviivataan mukautetulla vÀrillÀ, joka vaihtuu kursorin ollessa pÀÀllÀ.
CSS-koodi mÀÀrittelee tyylejÀ asettelukÀÀreluokalle nimeltÀ "furniture-wrapper". Se luo ruudukkorakenteen ja sÀÀtÀÀ eri elementtien, kuten otsikon, metatietojen ja johdantotekstin (standfirst), ulkonÀköÀ ja sijaintia eri nÀyttökokoja varten.
Suuremmille nÀytöille (yli 71.25em leveille) se luo monisarakkeisen ruudukon. Otsikkofontin koko kasvaa, ja koristeellisia viivoja ja reunoja sÀÀdetÀÀn tai poistetaan. Johdantoteksti saa pystysuoran reunan vasemmalle puolelle.
Keskikokoisille nÀytöille (61.25em ja 71.25em vÀlillÀ) se poistaa ylÀreunan johdantotekstin ensimmÀiseltÀ kappaleelta. Se myös sÀÀtÀÀ kuvien marginaaleja ja leveyksiÀ.
TÀmÀn alueen pienimmille nÀytöille se lisÀÀ ylÀreunan johdantotekstin ensimmÀiselle kappaleelle. Muut sÀÀnnöt hallitsevat sosiaalisen jakamisen painikkeiden nÀkyvyyttÀ, kommenttimÀÀriÀ ja asetteluviivoja, ja asettavat tietyt vÀrit reunoille ja viivoille kÀyttÀen CSS-muuttujaa (`--headerBorder`).
CSS-koodi asettaa tyylejÀ eri elementeille. Furniture-wrapper-luokan sisÀllÀ olevilla media-elementeillÀ on leveys 100% eikÀ vaakamarginaalia. Suuremmilla nÀytöillÀ (yli 61.25em) nÀillÀ media-elementeillÀ ei ole alamarginaalia. PienemmillÀ nÀytöillÀ (alle 46.24em) ne sopeutuvat koko nÀkymÀn leveyteen ja niillÀ on negatiivinen vasen marginaali, joka kasvaa hieman nÀytöillÀ, joiden leveys on 30em ja 46.24em vÀlillÀ.
Kuvatekstit sijoitetaan absoluuttisesti alareunaan tietyllÀ paddingilla, taustalla ja tekstin vÀreillÀ. Kuvatekstin ensimmÀinen span piilotetaan, kun taas toinen nÀytetÀÀn ja rajoitetaan 90% leveyteen. NÀytöillÀ, joiden leveys on yli 30em, kuvatekstin padding kasvaa. Kuvatekstipainike sijoitetaan oikeaan alareunaan pyöreÀllÀ taustalla ja skaalatulla kuvakkeella.
Interaktiivisen sisÀltösarakkeen sisÀllöl