Шаблон блока c нативным баннером
- Обязательные элементы рекламы
- Стили классов CSS
- Дизайн рекламного блока
- Рекомендации по оформлению блока
Шаблон определяет, какие элементы рекламы будут отображаться в объявлении. Все доступные элементы представлены на схеме:
<div class="wrapper">
<div class="headline">Читайте также</div>
<ya-units-grid cols="${grid_columns}" rows="${grid_rows}">
<div class="image"><ya-unit-image /></div>
<div class="title"><ya-unit-title /></div>
<div class="desc"><ya-unit-desc /></div>
<div class="domain"><ya-unit-domain /></div>
<div class="meta">
<span class="category"><ya-unit-category /></span>
</div>
<ya-unit-kebab />
</ya-units-grid>
</div>
Вы можете:
- добавить в шаблон собственную верстку;
- поменять местами элементы или вложить элементы в другие HTML-теги;
- удалить дополнительные элементы, если не хотите, чтобы они отображались в блоке. Например, чтобы скрыть описание, удалите строку
<ya-unit-desc />
.
В шаблоне обязательно должны быть элементы <ya-units-grid />
или <ya-units-slider />
. Удалять эти элементы нельзя, иначе блок не будет работать корректно. Все элементы вида <ya-unit-... />
должны находиться внутри <ya-units-grid />
или <ya-units-slider />
.
Также учитывайте требования к обязательным элементам рекламы, чтобы реклама соответствовала Правилам участия в Рекламной сети Яндекса и законодательству о рекламе. Важный момент: набор обязательных элементов в рекламе мобильных приложений и других типах рекламы отличается.
Обязательные элементы рекламы
По правилам Рекламной сети Яндекса эти элементы всегда должны быть в рекламном блоке:
Элемент | HTML-тег | Обязательный элемент рекламы | Обязательный элемент рекламы мобильных приложений |
---|---|---|---|
Метка «Реклама» и возрастная метка | <ya-unit-category /> | да | да |
Значок меню | <ya-unit-kebab /> | да | да |
Заголовок рекламы | <ya-unit-title /> | да | нет |
Домен | <ya-unit-domain /> | да | нет |
Цена | <ya-unit-price /> | нет | да |
Название приложения | <ya-unit-app-name /> | нет | да |
Иконка приложения | <ya-unit-app-icon /> | нет | да |
Элемент | HTML-тег | Обязательный элемент рекламы | Обязательный элемент рекламы мобильных приложений |
---|---|---|---|
Метка «Реклама» и возрастная метка | <ya-unit-category /> | да | да |
Значок меню | <ya-unit-kebab /> | да | да |
Заголовок рекламы | <ya-unit-title /> | да | нет |
Домен | <ya-unit-domain /> | да | нет |
Цена | <ya-unit-price /> | нет | да |
Название приложения | <ya-unit-app-name /> | нет | да |
Иконка приложения | <ya-unit-app-icon /> | нет | да |
Стили классов CSS
grid-row
— строка сетки;grid-item
— ячейка сетки;grid
— сетка;ya-units-slider
— слайдер в целом;ya-slider-item
— карточка в слайдере;unit-wrapper
— рекламное место;unit-image
— картинка или видео в рекламе.
Вы также можете создавать свои классы и настраивать стили для них.
Дизайн рекламного блока
- HTML
-
<ya-units-grid sizes="(max-width: 1024px) 2x2, (max-width: 600px) 2x1, ${grid_rows}x${grid_columns}">
Соответствие сеток экранам в примере будет следующим:- на экране шириной меньше 600 пикселей отобразится сетка 2 × 1;
- на экране шириной от 601 пикселя до 1024 пикселей — сетка 2 × 2;
- на экране шириной от 1025 пикселей размер сетки будет определяться значениями в полях Размер сетки на вкладке Общее.
- CSS
-
.grid-row { margin-top: 10px; /* вертикальное расстояние между ячейками — 10 пикселей */ } .grid-item { margin-left: 20px; /* горизонтальное расстояние между ячейками — 20 пикселей */ } .grid { border: 1px solid #000; /* рамка вокруг всей сетки: толщина — 1 пиксель, тип линии — сплошная, цвет — черный */ }
- Значение
left
задает прокрутку влево. Кнопка для прокрутки будет расположена перед объявлениями в слайдере. - Значение
right
задает прокрутку вправо. Кнопка для прокрутки будет расположена после объявлений в слайдере. - HTML
-
<div class="wrapper"> <ya-units-grid cols="${grid_columns}" rows="${grid_rows}"> ... </ya-units-grid> </div>
- CSS
-
.wrapper { background: #fff; /* цвет подложки — белый */ padding: 10px; /* отступы внутри рамки, со всех сторон — 10 пикселей */ margin: 5px; /* отступы снаружи рамки, со всех сторон — 5 пикселей */ border: 2px solid #000; /* рамка: толщина — 1 пиксель, тип линии — сплошная, цвет — черный */ border-radius: 6px; /* скругление углов рамки с 6 пикселей */ }
- HTML
- Исходный вид элемента «Описание рекламного предложения»:
<div class="desc"><ya-unit-desc /></div>
Ограничение отображаемых строк описания предложения до двух:<ya-clamp lines="2" class="desc"><ya-unit-desc /></ya-clamp>
Или<div class="desc"><ya-clamp lines="2"><ya-unit-desc /></ya-clamp></div>
- CSS
-
.headline { font-family: Helvetica, sans-serif; /* шрифт */ font-size: 18px; /* размер шрифта — 18 пикселей */ font-weight: bold; /* толщина букв — жирный */ font-style: italic; /* начертание — курсив */ line-height: 24px; /* межстрочный интервал — 24 пикселя */ letter-spacing: 1px; /* межбуквенный интервал — 1 пиксель*/ text-decoration: underline; /* декорирование текста — подчеркнутый */ text-transform: uppercase; /* регистр — все заглавные */ text-align: right; /* выравнивание — по правому краю */ color: #373e44; /* цвет текста — темно-серый */ background: #fff; /* цвет подложки — белый */ } .category { color: #093; /* цвет текста — зеленый */ font-size: 12px; /* размер шрифта — 12 пикселей */ text-transform: uppercase; /* регистр — все заглавные */ }
- CSS
-
.headline { padding-top: 10px; /* отступ сверху — 10 пикселей */ padding-right: 10px; /* отступ справа — 10 пикселей */ padding-bottom: 10px; /* отступ снизу — 10 пикселей */ padding-left: 10px; /* отступ слева — 10 пикселей */ }
- CSS
-
.headline { border: 1px solid #000; /* рамка: толщина — 1 пиксель, тип линии — сплошная, цвет — черный */ }
- CSS
-
.unit-wrapper { background: #fff; /* цвет подложки — белый */ border: 1px solid #666; /* рамка: толщина — 1 пиксель, тип линии — сплошная, цвет — серый */ padding: 5px; /* отступы внутри ячейки — 5 пикселей */ border-radius: 6px; /* скругление углов с 6 пикселей */ }
- CSS
-
.unit-wrapper.unit-without-image { background: #fff; /* цвет подложки — белый */ border: 1px solid #666; /* рамка: толщина — 1 пиксель, тип линии — сплошная, цвет — серый */ padding: 5px; /* отступы внутри ячейки — 5 пикселей */ border-radius: 6px; /* скругление углов с 6 пикселей */ }
Блок с нативным баннером может выглядеть как сетка заданного размера или как слайдер (горизонтальная лента объявлений с возможностью прокрутки). За отрисовку сетки отвечает элемент <ya-units-grid />
, за отрисовку слайдера — <ya-units-slider />
. Использовать оба эти элемента в одном шаблоне нельзя.
Элемент <ya-units-grid>
рисует сетку по параметрам, заданным в полях Размер сетки. Изменять размер можно только с помощью этих же полей.
sizes.
Последними обязательно должны идти переменные ${grid_columns}x${grid_rows}
. Например:grid
, grid-row
, grid-item
. Например:<ya-units-grid>
для данного размера экрана будет настроена сетка 2 × 2, то отобразятся только 4 объявления из загруженных 10. В обратном случае: сетка 5 × 2, а количество объявлений 2 × 2, — в блоке будет шесть пустых ячеек.<ya-units-slider />
. <div class="block">
<div class="headline">Читайте также</div>
<ya-units-slider>
<div class="unit">
<ya-unit-kebab />
<div class="image">
<ya-unit-image ratio="0.5" />
</div>
<div class="body">
<div class="title">
<ya-unit-title />
</div>
<div class="meta">
<span class="category">
<ya-unit-category />
</span>
<span class="date">
<ya-unit-date />
</span>
</div>
</div>
</div>
</ya-units-slider>
<div class="block-label">
<div class="label">Яндекс рекомендации</div>
</div>
</div>
Оформление слайдера можно настроить в CSS с помощью классов ya-units-slider
(весь контейнер с карточками) и ya-slider-item
(отдельная карточка в слайдере): .ya-units-slider {
width: 95vw;
}
.ya-slider-item:not(:first-child) {
margin-left: 1em;
}
<ya-units-slider>
добавьте элемент <ya-slider-button>
. Направление прокрутки указывается с помощью аттрибута direction
: <ya-slider-button>
есть элемент с классом ya-clickable
, то прокрутка выполняется по клику на этот элемент. Если такого элемента нет, прокрутка выполняется по клику на саму кнопку. <ya-slider-button direction="left">В начало</ya-slider-button>
<ya-units-slider />
будут добавлены классы ya-slider-leftmost
и ya-slider-rightmost
соответственно. wrapper
) и настройте для этого класса нужные параметры в CSS. Чтобы ограничить количество строк, которые будут отображаться в элементе, заключите этот элемент в тег <ya-clamp>
.
Задать цвет подложки или рамку для каждой ячейки можно с помощью класса unit-wrapper
. Например:
<unit-wrapper.unit-without-image>
. Например: Вы можете динамически менять внешний вид объявлений для разных разделов сайта или тем оформления (например, светлой или темной). Для этого добавьте в код вставки параметр darkTheme: true
, например:
<script>
(yaads = window.yaads || []).push({
id: "123456-7",
render: "div",
darkTheme: true
});
</script>
При вызове кода корневому элементу <ya-units-grid>
или <ya-units-slider>
будут добавлены классы ya-theme-dark
или ya-theme-light
:
<ya-units-grid cols="1" rows="1"> <!-- при вызове кода классы добавляются корневому элементу -->
<div class="image">
<ya-unit-image ratio="1" />
</div>
</ya-units-grid>
Внутри одного рекламного блока можно хранить один вариант дизайна в двух цветовых темах. Для этого в настройках CSS на вкладке Код пропишите нужные свойства с использованием этих классов.
.ya-theme-dark {
background-color: black;
}
.ya-theme-light {
background-color: white;
}
Меню в объявлении также изменяется в зависимости от темы. Но мы не рекомендуем использовать media queries
для стилизации темы в рекламных блоках, так как в этом случае меню не адаптируется под тему оформления.
additionalClasses
и nativeAdditionalClasses
: в будущем они перестанут поддерживаться.Рекомендации по оформлению блока
Элемент оформления | Рекомендации по использованию |
---|---|
Шрифты | Если в дизайне используется нестандартный шрифт, учитывайте, что он может отсутствовать у пользователя. Также у загрузки такого шрифта для рекламного формата могут быть негативные последствия: задержка отрисовки, уменьшение скорости загрузки, скачок шрифта и т. д. Предусмотрите список резервных шрифтов для своего дизайна или дайте согласие на использование группы шрифтов для форматов по умолчанию. Не используйте в дизайне мелкие шрифты (ниже 12 пикселей). |
Размеры и адаптивность | Дизайн объявления должен подходить под разные размеры контейнера, внутри которого оно отрисовывается. Учитывайте самые минимальные и максимальные размеры контейнера. Если в блоке с нативным баннером несколько рекламных объявлений, их верстка должна быть одинаковой. Как выглядит некорректная нативная реклама |
Использование в среде | Убедитесь, что объявление корректно работает в каждой среде, где планируется его использование:
|
Специальные возможности и настройки | Дизайн должен корректно работать, если у пользователя включена опция:
|
Элемент оформления | Рекомендации по использованию |
---|---|
Шрифты | Если в дизайне используется нестандартный шрифт, учитывайте, что он может отсутствовать у пользователя. Также у загрузки такого шрифта для рекламного формата могут быть негативные последствия: задержка отрисовки, уменьшение скорости загрузки, скачок шрифта и т. д. Предусмотрите список резервных шрифтов для своего дизайна или дайте согласие на использование группы шрифтов для форматов по умолчанию. Не используйте в дизайне мелкие шрифты (ниже 12 пикселей). |
Размеры и адаптивность | Дизайн объявления должен подходить под разные размеры контейнера, внутри которого оно отрисовывается. Учитывайте самые минимальные и максимальные размеры контейнера. Если в блоке с нативным баннером несколько рекламных объявлений, их верстка должна быть одинаковой. Как выглядит некорректная нативная реклама |
Использование в среде | Убедитесь, что объявление корректно работает в каждой среде, где планируется его использование:
|
Специальные возможности и настройки | Дизайн должен корректно работать, если у пользователя включена опция:
|