Seperti semua halaman, halaman AMP digayakan dengan CSS, tapi tidak dapat mereferensikan stylesheet eksternal (dengan pengecualian font kustom). Selain itu, gaya tertentu tidak diizinkan karena implikasi performa. Atribut gaya sisipan pun tidak diizinkan.

Semua gaya harus ada di kepala dokumen (lihat Tambahkan gaya ke halaman). Namun Anda dapat menggunakan pembuatan template dan praprosesor CSS untuk membuat halaman statis agar dapat mengelola konten Anda dengan lebih baik.

Gaya yang tidak diizinkan

Gaya berikut tidak diizinkan di halaman AMP:

Gaya yang dilarang Deskripsi
Atribut gaya sisipan Semua gaya harus ditentukan di <head> halaman, dalam tag <style amp-custom>.
Penentu !important Penggunaan tidak diizinkan. Ini adalah persyaratan yang dibutuhkan guna mengaktifkan AMP untuk menerapkan aturan pengukuran elemennya.
<link rel=”stylesheet”> Tidak diizinkan dengan pengecualian font kustom.
Nama kelas -amp- dan tag i-amp- tag names Nama kelas, di stylesheets penulis, tidak dapat dimulai dengan string -amp-. Ini dikhususkan untuk penggunaan internal oleh waktu proses AMP. Demikian pula, stylesheet pengguna tidak dapat mereferensikan pemilih CSS untuk kelas -amp- dan tag i-amp.
behavior, -moz-binding Properti ini tidak diizinkan karena alasan keamanan.

Gaya yang dibatasi

Gaya berikut diizinkan, namun dibatasi dalam hal nilai yang didukung:

Gaya yang dibatasi Deskripsi
Properti transition Hanya properti yang dipercepat GPU (saat ini opacity, transform, dan -vendorPrefix-transform).
@keyframes {...} Hanya properti yang dipercepat GPU (saat ini opacity, transform, dan -vendorPrefix-transform).

Pengecualian font kustom

Halaman AMP tidak dapat menyertakan stylesheet eksternal, dengan pengecualian font kustom.

Menggunakan praprosesor CSS

Keluaran praprosesor berfungsi sama baiknya di AMP dengan di halaman web lainnya. Misalnya, situs ampproject.org menggunakan Sass . (Kami menggunakan Grow untuk membangun halaman AMP statis yang menyusun situs ampproject.org .)

Jika menggunakan praprosesor, selalu perhatikan hal yang Anda sertakan. Muatlah hanya yang digunakan halaman Anda. Misalnya, head.html menyertakan semua markup AMP yang diperlukan dan CSS yang disisipkan dari file sumber *.scss. Juga disertakan skrip elemen kustom untuk amp-youtube, di antara lainnya, agar banyak halaman di seluruh situs dapat menyertakan video YouTube yang disematkan.


<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
  <meta property="og:description" content="{% if doc.description %}{{doc.description}} – {% endif %}Accelerated Mobile Pages Project">
  <meta name="description" content="{% if doc.description %}{{doc.description}} – {% endif %}Accelerated Mobile Pages Project">

  <title>Proyek Accelerated Mobile Pages</title>
  <link rel="icon" href="/static/img/amp_favicon.png">
  <link rel="canonical" href="https://www.ampproject.org{{doc.url.path}}">
  <link href="https://fonts.googleapis.com/css?family=Roboto:200,300,400,500,700" rel="stylesheet">
  <style amp-custom>
  {% include "/assets/css/main.min.css" %}
  </style>

  <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
  <script async src="https://cdn.ampproject.org/v0.js"></script>
  <script async custom-element="amp-carousel" src="https://cdn.ampproject.org/v0/amp-carousel-0.1.js"></script>
  <script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
  <script async custom-element="amp-lightbox" src="https://cdn.ampproject.org/v0/amp-lightbox-0.1.js"></script>
  <script async custom-element="amp-youtube" src="https://cdn.ampproject.org/v0/amp-youtube-0.1.js"></script>
  <script async custom-element="amp-sidebar" src="https://cdn.ampproject.org/v0/amp-sidebar-0.1.js"></script>
  <script async custom-element="amp-iframe" src="https://cdn.ampproject.org/v0/amp-iframe-0.1.js"></script>
</head>

Untuk melihat cara di atas diterapkan dalam HTML AMP terformat, lihat sumber setiap halaman di ampproject.org. (Di Chrome, klik kanan dan View Page Source.)