다음은 테일러 스위프트가 자신의 방식으로 대중문화를 재구성한 20가지 방법입니다.
```css
#article-body > div .content--interactive-grid,
.content--interactive > div .content--interactive-grid,
#comment-body .content--interactive-grid,
[data-gu-name="body"] .content--interactive-grid,
#feature-body .content--interactive-grid {
grid-column-gap: 0px;
grid-template-columns: 100%;
grid-template-areas:
"media"
"title"
"headline"
"standfirst"
"lines"
"meta"
"body";
}
@media (min-width: 30em) {
#article-body > div .content--interactive-grid figure.element--immersive figcaption,
.content--interactive > div .content--interactive-grid figure.element--immersive figcaption,
#comment-body .content--interactive-grid figure.element--immersive figcaption,
[data-gu-name="body"] .content--interactive-grid figure.element--immersive figcaption,
#feature-body .content--interactive-grid figure.element--immersive figcaption {
padding: 0 20px;
max-width: 620px;
}
}
@media (min-width: 46.25em) {
#article-body > div .content--interactive-grid,
.content--interactive > div .content--interactive-grid,
#comment-body .content--interactive-grid,
[data-gu-name="body"] .content--interactive-grid,
#feature-body .content--interactive-grid {
grid-template-columns: 100%;
grid-column-gap: 10px;
grid-template-areas:
"title"
"headline"
"standfirst"
"media"
"lines"
"meta"
"body";
}
#article-body > div .content--interactive-grid #maincontent,
.content--interactive > div .content--interactive-grid #maincontent,
#comment-body .content--interactive-grid #maincontent,
[data-gu-name="body"] .content--interactive-grid #maincontent,
#feature-body .content--interactive-grid #maincontent {
padding-right: 80px;
}
}
@media (min-width: 61.25em) {
#article-body > div .content--interactive-grid,
.content--interactive > div .content--interactive-grid,
#comment-body .content--interactive-grid,
[data-gu-name="body"] .content--interactive-grid,
#feature-body .content--interactive-grid {
grid-template-columns: 620px 300px;
grid-template-areas:
"title right-column"
"headline right-column"
"standfirst right-column"
"media right-column"
"lines right-column"
"meta right-column"
"body right-column"
". right-column";
}
#article-body > div .content--interactive-grid #maincontent,
.content--interactive > div .content--interactive-grid #maincontent,
#comment-body .content--interactive-grid #maincontent,
[data-gu-name="body"] .content--interactive-grid #maincontent,
#feature-body .content--interactive-grid #maincontent {
padding-right: unset;
}
}
@media (min-width: 71.25em) {
#article-body > div .content--interactive-grid,
.content--interactive > div .content--interactive-grid,
#comment-body .content--interactive-grid,
[data-gu-name="body"] .content--interactive-grid,
#feature-body .content--interactive-grid {
grid-template-columns: 140px 1px 620px 300px;
grid-template-areas:
"title border headline right-column"
". border standfirst right-column"
". border media right-column"
". border body right-column"
". border . right-column";
}
#article-body > div .content--interactive-grid .content__standfirst,
.content--interactive > div .content--interactive-grid .content__standfirst,
#comment-body .content--interactive-grid .content__standfirst,
[data-gu-name="body"] .content--interactive-grid .content__standfirst,
#feature-body .content--interactive-grid .content__standfirst {
padding-bottom: 0;
}
#article-body > div .content--interactive-grid figure.element--immersive figcaption,
.content--interactive > div .content--interactive-grid figure.element--immersive figcaption,
#comment-body .content--interactive-grid figure.element--immersive figcaption,
[data-gu-name="body"] .content--interactive-grid figure.element--immersive figcaption,
#feature-body .content--interactive-grid figure.element--immersive figcaption {
/* 원본 콘텐츠는 여기서 끝납니다 */
}
}
.immersive figcaption에는 상단에 4px 패딩이 있고 다른 곳에는 패딩이 없습니다.
기사 본문, 인터랙티브 콘텐츠 섹션, 댓글 섹션 및 피처 본문 섹션에서 `[data-gu-name="lines"]` 및 `[data-gu-name="meta"]` 요소는 그리드 영역 `2 / 1 / 5 / 2`에 배치됩니다.
`[data-gu-name="lines"]`의 경우 높이는 `max-content`로 설정되고 상단 여백은 5px입니다.
`[data-gu-name="meta"]`의 경우 상단 여백은 18px입니다.
81.25em보다 넓은 화면에서 인터랙티브 그리드는 219px, 1px, 620px, 80px 및 300px의 열을 사용합니다.
iOS 및 Android에서 기사 헤더의 스탠드퍼스트 텍스트는 `Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif` 글꼴을 사용하며 두께는 500입니다.
기사 키커 섹션은 블록으로 표시되며 첫 글자는 대문자로 표시됩니다.
`keyline-4` 클래스는 상단 패딩이 12px입니다.
메타 섹션에서 바이라인 작성자는 동일한 글꼴 모음을 사용하며 두께는 700이고, 그 안의 링크도 두께가 700입니다.
기사 그림 내부의 이미지는 내부 컨테이너 높이가 `auto`로 설정됩니다.
원자가 있는 그림 뒤에 단락이 오면 단락에 상단 여백이 없습니다.
스크립팅이 활성화된 경우 인터랙티브 기사와 표준 기사는 불투명도 0, 오버플로 숨김으로 시작합니다. `interactive-loaded` 클래스가 추가되면 1초에 걸쳐 서서히 나타나고 오버플로가 표시됩니다.
다크 모드(사용자 시스템이 다크 모드를 선호하고 밝은 색상 구성표가 설정되지 않은 경우)에서 링크 텍스트와 호버 색상은 어둡고, 스탠드퍼스트 텍스트, 바이라인 및 메타 라인은 흰색입니다.
기사 테두리는 `#dcdcdc`가 되고 배경은 `#121212`가 됩니다.
레이아웃 섹션 내의 모든 텍스트(제목, 단락, 범위, 링크)는 강제로 흰색이 됩니다.
기본 여백은 10px이고 열 너비 패딩은 10%입니다.
23.4375em보다 넓은 화면에서 열 너비 패딩은 15%로 증가합니다.
30em보다 넓은 화면에서 여백은 20px이 됩니다.
46.25em보다 넓은 화면에서 열 너비 패딩은 30%이고 그리드 너비는 740px입니다.
@media (min-width: 61.25em) {
:root {
--gridWidth: 980px;
}
}
@media (min-width: 71.25em) {
:root {
--gridWidth: 1140px;
}
}
@media (min-width: 81.25em) {
:root {
--gridWidth: 1300px;
}
}
:root:root {
--byline: #ffffff;
--byline-anchor: #ffffff;
--article-link-border: #606060;
--article-link-text: #121212;
--article-link-text-hover: #121212;
--article-link-border-hover: #121212;
--video-background: #121212;
--dateline: #dcdcdc;
--standfirst-text: #ffffff;
--article-meta-lines: #ffffff;
}
:root:root article {
--article-border: #121212;
--article-background: #ffffff;
--share-button: #ffffff;
--share-button-hover: #121212;
--article-text: #121212;
--byline-anchor: #ffffff;
--follow-icon-fill: #ffffff;
--follow-text: #ffffff;
--mobile-colour: #ffffff;
}
:root[data-app-os="android"] {
--androidTop: 58px;
}
:root[data-app-os="ios"] {
--iosBottomToolbar: 50px;
--iosTopToolbar: 20px;
--iosLvh: calc(100vh - var(--iosTopToolbar));
}
@media (min-height: 670px) {
:root[data-app-os="ios"] {
--iosBottomToolbar: 84px;
--iosTopToolbar: 44px;
}
}
@media (min-height: 800px) {
:root[data-app-os="ios"] {
--iosTopToolbar: 94px;
}
}
.credits-wrapper {
padding: 20px;
}
.credits-wrapper .left-col,
.credits-wrapper .right-col {
display: contents;
}
@media (min-width: 61.25em) {
.credits-wrapper {
border-top: 1px solid var(--article-border);
padding: 40px;
display: grid;
grid-template-columns: 1fr 1fr;
}
.credits-wrapper .left-col,
.credits-wrapper .right-col {
display: block;
}
.credits-wrapper .right-col {
position: relative;
}
.credits-wrapper .right-col:after {
content: "";
position: absolute;
top: -40px;
left: -2px;
height: calc(100% + 80px);
width: 3px;
background-color: #fff;
z-index: 10;
}
}
.credits-wrapper p {
font-style: italic;
color: #121212;
font-family: "Guardian Text Egyptian Web", Georgia, serif;
line-height: 130%;
margin-bottom: 0;
max-width: 420px;
}
.credits-wrapper p:first-of-type {
font-style: normal;
}
.credits-wrapper p strong {
font-style: normal;
font-weight: 400;
}
.credits-wrapper p a {
color: #121212;
}
.pagination-container {
position: fixed;
right: 10px;
top: 50%;
transform: translateY(-50%);
display: flex;
flex-direction: column;
gap: 8px;
z-index: 100;
transition: opacity 0.3s ease;
opacity: 1;
}
.pagination-container.hide {
opacity: 0;
pointer-events: none;
}
@media (min-width: 46.25em) {
.pagination-container {
right: calc((100vw - var(--gridWidth)) / 2 + 11px);
}
}
.pagination-container .pagination-dot {
width: 7px;
height: 14px;
border-radius: 4px;
border: none;
background-color: #121212b3;
border: 1px solid rgba(255, 255, 255, 0.7);
cursor: pointer;
padding: 0;
position: relative;
transition: transform 0.3s ease, opacity 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
.pagination-container .pagination-dot {
transition: none;
}
}
@media (min-width: 61.25em) {
.pagination-container .pagination-dot {
height: 22px;
}
}
.pagination-container .pagination-dot .pagination-label {
transform: scaleX(0);
position: absolute;
height: 0;
display: block;
overflow: hidden;
transform-origin: right;
opacity: 0;
transition: transform 0.3s ease, opacity 0.3s ease;
white-space: nowrap;
font-family: "Guardian Text Sans Web", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
font-size: 15px;
color: #121212;
background-color: #fff;
right: 14px;
padding: 1px 8px 2px;
top: 0;
border-radius: 3px;
}
@media (prefers-reduced-motion: reduce) {
.pagination-container .pagination-dot .pagination-label {
transition: none;
}
}
.pagination-container .pagination-dot .pagination-label p {
opacity: 0;
transition: opacity 0.3s ease;
transition-delay: 0.2s;
}
@media (prefers-reduced-motion: reduce) {
.pagination-container .pagination-dot .pagination-label p {
transition: none;
}
}
.pagination-container .pagination-dot:hover,
.pagination-container .pagination-dot.active {
cursor: pointer;
background-color: #fff;
border: 1px solid rgba(18, 18, 18, 0.7);
}
@media (min-width: 61.25em) {
.pagination-container .pagination-dot:hover .pagination-label,
.pagination-container .pagination-dot.animate .pagination-label {
transform: scaleX(1);
opacity: 1;
height: unset;
}
.pagination-container .pagination-dot:hover .pagination-label p,
.pagination-container .pagination-dot.animate .pagination-label p {
opacity: 1;
}
}
.layout-header {
position: relative;
}
.layout-header *:not(.layout-header-media) {
position: relative;
z-index: 2;
}
.layout-header .layout-header-media {
background-color: #121212;
position: sticky;
inset: 0;
height: 100vh;
margin: 0 calc(var(--margin) * -1);
}
@media (min-width: 61.25em) {
.layout-header .layout-header-media {
border-bottom: 1px solid var(--article-border);
}
}
.layout-header .layout-header-media video {
width: 100%;
height: 100vh;
object-fit: cover;
background-color: #000;
}
.layout-header .layout-header-media:after {
content: "";
position: absolute;
inset: 0;
z-index: 10;
background: #000;
opacity: 0;
pointer-events: none;
transition: opacity 1s ease;
}
@media (prefers-reduced-motion: reduce) {
.layout-header .layout-header-media:after {
transition: none;
}
}
.layout-header .layout-header-media.opacity-media:after {
opacity: 0.7;
}
.layout-header .layout-header-furniture {
margin-top: calc((100vh - 1px) * -1);
}
.layout-header .layout-header-furniture [data-gu-name="title"],
.layout-header .layout-header-furniture [data-gu-name="lines"] {
display: none;
}
.layout-header .layout-header-furniture > p {
margin-bottom: 0;
padding-bottom: 24px;
}
.layout-header .layout-header-furniture [data-gu-name="headline"] {
--guardian-header-height: 145px;