## **Требования к верстке** ### **С точки зрения веб-разработки:** * верстаем на чистом HTML/CSS с использованием flex и grid (без подключение библиотек типа bootstrap и т.п.) * при именовании блоков используем методологию **БЭМ в стиле "Two Dashes"**: `block-name__elem-name--mod-name--mod-val` + имена записываются латиницей в нижнем регистре + для разделения слов в именах БЭМ-сущностей используется дефис (-) + имя элемента отделяется от имени блока двумя подчеркиваниями (__) + модификаторы отделяются от имения блока или элемента двумя дефисами (--) + значение модификатора отделяется от его имени двумя дефисами (--) * из конечного HTML-файла убрать все комментарии, если такие имеются * все медиазапросы пишутся в отдельных файлах (которые мы подготовили) для того чтобы оптимизировать скорость загрузки; если используется препроцессор, то не нужно в классе каждого блока использовать импорты медиа запросов, а наоборот выносим пример можно посмотреть на ["видео"](https://www.youtube.com/watch?v=9uaENbRyVT4) * **частая ошибка:** верстальщик берет изображения/видео из макета и не задает им адаптивную ширину/высоту, и на моменте сдачи верстки не заметно косяков, а вот когда мы переходим к натяжке и медиаматериалы начинают выводиться в шаблон динамически и уже разных форматов (ШИРИНАxВЫСОТА), тогда верстка начинает плыть. Чтоб такое избежать проверяйте на как себя ведет элемент при замене слишком большой/маленькой картинки. * **ВАЖНО:** если верстка делается для многостраничного сайта (особенно на CMS), то для всех страниц прописывать уникальный класс в \
, от которого строить все CSS-правила на этой странице + для кажой станицы использовать свои отдельные CSS-файлы ### **С точки зрения SEO:** * все теги использовать строго по назначению! Текстовые (strong, b, i, em, h1-h6… p) используем только в текстовых блоках и заголовках. Для дизайна используем div и span. Например не нужно втыкать в подвал, шапку или формы захвата h4 или закрывать просто крупный текст, который не является заголовком в h2. * на странице должен быть только один заголовок первого уровня (h1) * должны присутствовать все основные теги и атрибуты — html, head, body, title, description, lang=ru, content=html, charset=utf8 * для кнопок, нажатие на которые не требует редиректа используем тег \