Как создать адаптивные AMP-страницы
По методам стилизации и компоновки страницы AMP HTML очень схожи с обычными HTML-страницами: в обоих случаях используется CSS.
Чтобы обеспечить оптимальную производительность и удобство для пользователя, AMP накладывает ограничения на использование некоторых стилей CSS, а общий объем стилей на странице не должен превышать 75 000 байт. При этом AMP обеспечивает новые возможности для адаптивного дизайна, такие как заполнители и резервные элементы, расширенная художественная обработка при помощи srcset и атрибут layout, предоставляя более высокий уровень контроля над отображением элементов.
layout="responsive"
. Подробнее об адаптивном дизайне в AMP см. в статье Создание адаптивных AMP-страниц. Как добавить стили на страницу
Объем CSS-стилей на каждой AMP-странице не должен превышать 75 000 байт. Это ограничение распространяется как на стили, определенные в разделе head документа, так и на встроенные стили.
Определение стилей в разделе head
Для определения стилей CSS используйте тег <style amp-custom>
в разделе head документа. В коде каждой AMP-страницы может быть только один тег <style amp-custom>
.
<!doctype html> <head> ... <style amp-custom> /* any custom styles go here. */ body { background-color: white; } amp-img { border: 5px solid black; } amp-img.grey-placeholder { background-color: grey; } </style> ... </head>
Для стилизации компонентов AMP и элементов HTML используйте классы и селекторы в сочетании с обычными CSS-свойствами:
<body> <p>Hello, Kitty.</p> <amp-img class="grey-placeholder" src="https://placekitten.com/g/500/300" srcset="/img/cat.jpg 640w, /img/kitten.jpg 320w" width="500" height="300" layout="responsive"> </amp-img> </body>
Определение встроенных стилей
AMP допускает использование встроенных стилей:
<body> <p style="color:pink;margin-left:30px;">Hello, Kitty.</p> </body>
Размер каждого встроенного стиля не должен превышать 1000 байт. Встроенные стили засчитываются в общее ограничение в 75 000 байт.
Элементы с адаптивным макетом
Чтобы указывать размер и положение для видимых элементов AMP, используйте атрибуты width
и height
. Эти атрибуты определяют соотношение сторон элемента, размеры которого могут пропорционально меняться в соответствии с размером контейнера.
Если установить атрибуту «layout» значение «responsive», то ширина элемента будет определяться шириной элемента-контейнера, а высота будет задаваться автоматически на основании соотношения сторон, определяемого атрибутами «width» и «height».
Указание заполнителей и резервных элементов
Благодаря встроенной поддержке заполнителей и резервных элементов вашим пользователям больше никогда не придется смотреть на пустой экран.
Художественная обработка изображений
AMP поддерживает атрибуты srcset
и sizes
, дающий точный контроль над загрузкой изображений в различных сценариях.
Как проверить стили и макет
Для проверки значений CSS и макета страницы используйте AMP-валидатор.
Валидатор подтверждает, что объем CSS на вашей странице не превышает ограничение в 75 000 байт, проверяет наличие запрещенных стилей и гарантирует, что макет страницы поддерживается и правильно отформатирован. См. также полный список ошибок, затрагивающих к стили и макеты.
Пример ошибки в консоли на странице со стилями CSS, чей объем превышает лимит в 75 000 байт: