AMP 상용구 코드 - ⟨style amp-boilerplate⟩

1 min read

왜 모든 AMP 페이지에 <style amp-boilerplate> 코드를 포함해야 하는지에 대해 궁금할 수 있습니다. 이것은 AMP 페이지가 로드되는 동안 스타일이 정해지지 않은 콘텐츠가 페이지에 미치는 악영향을 방지하기 위해 AMP 프로젝트 팀이 개발한 방법으로 페이지 렌더링에 꼭 필요한 코드입니다.

  1. 먼저 AMP 페이지가 로드되는 동안 페이지의 내용을 숨깁니다.
  2. 그런 다음 AMP JS 라이브러리가 로드됩니다.
  3. 페이지 렌더링을 완료한 후 숨긴 페이지를 표시합니다.

하지만 이 방법은 문제가 있습니다. 페이지를 로드할 때 AMP JS 라이브러리를 사용할 수 없다면 페이지의 내용은 영원히 숨겨진 상태로 공백으로 표시됩니다.

이 문제를 해결하는 방법은 CSS를 사용하는 것입니다. AMP JS 라이브러리가 내용을 표시하지 못하면 CSS가 내용을 표시합니다. CSS의 keyframe animation으로 몇 초 후에 페이지 내용을 로드할 지 설정하면 사용자는 자동으로 콘텐츠를 볼 수 있게 됩니다.

브라우저 접두사를 뺀 AMP 상용구 코드의 간략한 버전은 다음과 같습니다.

body {
  animation: amp-timeout 0s 8s 1 normal forward;
}
@key-frames amp-timeout {
  0%   {opacity: 0;}
  100% {opacity: 1;}
}
방문해주셔서 감사합니다. 즐거운 하루 되세요!

관심 있을 만한 글

  • HTML에서와 마찬가지로 CSS는 AMP에서 레이아웃 및 디자인의 핵심입니다. AMP 페이지의 사용자 지정 CSS 스타일을 추가하는 경우 일부 작업에 대한 제한 사항이 있습니다. 다음과 같은 사항을 주의해야 합니다. 모든 스타일은 문서의 head에 정의되어야 합니다. 최대 75KB의 CSS가 허용…
  • 왜 모든 AMP 페이지에 <style amp-boilerplate> 코드를 포함해야 하는지에 대해 궁금할 수 있습니다. 이것은 AMP 페이지가 로드되는 동안 스타일이 정해지지 않은 콘텐츠가 페이지에 미치는 악영향을 방지하기 위해 AMP 프로젝트 팀이 개발한 방법으로 페이지 렌더링에 꼭 필요한…
  • 폭포형 차트(Waterfall charts)는 브라우저가 웹 페이지 리소스를 다운로드하고 처리하는 과정을 타임 라인에 표시합니다. 항목이 다운로드 되는 순서 또는 성능 저하 지점이 어딘지 등을 시각적으로 명확하게 표현합니다. 이것은 사용자에게 좋은 웹 성능을 제공하기 위해 없어서는 안 될 필수 요소입니다.…
  • Pre-rendering은 사용자가 방문을 결정하기도 전에 이미 숨겨진 iframe을 사용하여 백그라운드에서 AMP를 다운로드하고 렌더링 하는 방식입니다. 가능하면 AMP는 백그라운드에서 사전에 미리 로드됩니다. Pre-rendering은 AMP 캐시에서 페이지 로드 시간을 향상시키는데 사용됩니다. …
  • 구글 페이지스피드 인사이트(Google PageSpeed Insights)는 사용하기 쉬운 웹 성능 테스트 도구입니다. Google에서 운영하는 무료 서비스이며 사이트에 점수를 매겨 웹 페이지에 대한 빠르고 간단한 분석을 제공합니다. 입력창에 URL주소를 입력하면 테스트가 진행되며, 페이지 내 콘텐츠…
  • 최신 Chrome 브라우저는 훌륭한 소프트웨어입니다. 무엇보다 프로파일링을 제공하여 웹 페이지에 대한 심층적인 분석과 성능 데이터를 제공합니다. 요즘은 Chrome 브라우저뿐만 아니라 대부분의 최신 웹 브라우저에서 개발자 도구를 사용할 수 있습니다. 이 개발자 도구를 사용하면 USB를 통해 모바일 기기를 …

댓글 쓰기