🔍 Начните печатать, чтобы искать по книге или перейти к нужной странице по номеру
Удобно листать не только прокруткой, но и клавишами‑стрелками:
Эта книга — пошаговая инструкция по вёрстке сайтов на языках ХТМЛ и ЦСС. Вы узнаете не только как сверстать сайт, но и как опубликовать его в интернете, настроить красивый шаринг в соцсети и подключить системы аналитики.
Отдельный раздел книги посвящён работе с верстальщиком: как ставить задачи, получать предсказуемый результат и правильно принимать и внедрять вёрстку.
Знакомство с ХТМЛ и ЦСС
Модули
Расстановка
Страницы
Спецэффекты
Контроль качества
Публикация
Как работать с верстальщиком
Эта книга — пошаговая инструкция по вёрстке сайтов на языках ХТМЛ и ЦСС. Вы узнаете не только как сверстать сайт, но и как опубликовать его в интернете, настроить красивый шаринг в соцсети и подключить системы аналитики.
Отдельный раздел книги посвящён работе с верстальщиком: как ставить задачи, получать предсказуемый результат и правильно принимать и внедрять вёрстку.
Знакомство с ХТМЛ и ЦСС
Модули
Расстановка
Страницы
Спецэффекты
Контроль качества
Публикация
Как работать с верстальщиком
Плееры видеохостингов умеют запоминать позицию, настраивать субтитры и скорость просмотра
Самый простой способ добавить видео на страницу — загрузить на видеохостинг (Ютуб, ВК, Вимео) и встроить оттуда.
Так вы не заморачиваетесь с хранением видео, получаете продвинутый плеер, а главное — потоковое воспроизведение: видео можно начать смотреть с любого места, не дожидаясь полной загрузки. Это особенно полезно для длинных лекций или новостей.
Минус видеохостингов — видео хранится не у вас. Хостинг может вдруг закрыться или удалить ваши видео, храните резервные копии на чёрный день.
Принцип встраивания похож у разных хостингов: нажмите «Поделиться» на странице видео и найдите код встраивания, обычно это тег iframe. Тег iframe встраивает на страницу кусочек другого сайта, в нашем случае — видеоплеер:
<!-- Уберите из кода встраивания атрибуты width и height, если хотите задать размеры в ЦСС -->
<iframe class="vkVideo" src="https://vk.com/video_ext.php?oid=-113157690&id=456239826&hd=2" width="853" height="480" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe>
.vkVideo {
aspect-ratio: 16/9;
}
Плееры видеохостингов умеют запоминать позицию, настраивать субтитры и скорость просмотра
Самый простой способ добавить видео на страницу — загрузить на видеохостинг (Ютуб, ВК, Вимео) и встроить оттуда.
Так вы не заморачиваетесь с хранением видео, получаете продвинутый плеер, а главное — потоковое воспроизведение: видео можно начать смотреть с любого места, не дожидаясь полной загрузки. Это особенно полезно для длинных лекций или новостей.
Минус видеохостингов — видео хранится не у вас. Хостинг может вдруг закрыться или удалить ваши видео, храните резервные копии на чёрный день.
Принцип встраивания похож у разных хостингов: нажмите «Поделиться» на странице видео и найдите код встраивания, обычно это тег iframe. Тег iframe встраивает на страницу кусочек другого сайта, в нашем случае — видеоплеер:
<!-- Уберите из кода встраивания атрибуты width и height, если хотите задать размеры в ЦСС -->
<iframe class="vkVideo" src="https://vk.com/video_ext.php?oid=-113157690&id=456239826&hd=2" width="853" height="480" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe>
.vkVideo {
aspect-ratio: 16/9;
}
Видеофайл можно разместить в файлах вашего сайта и подключать вручную тегом video:
<!-- poster — путь до обложки, которая будет видна, пока видео не включат, controls — включает элементы управления плеером -->
<video
class="video"
src="./videos/rickroll.mp4"
poster="./videos/rickroll-preview.jpg"
controls
></video>
.video {
width: 100%;
aspect-ratio: 4/3.15;
/* Заклинание для масштабирования видео под любые размеры тега */
object-fit: cover;
object-position: center;
}
С ручным подключением много заморочек.
Хотя базовый пример кода выглядит просто, он плохо подойдёт для сайтов с большой посещаемостью. По‑хорошему, видеофайлы надо особым образом оптимизировать и готовить в нескольких форматах, писать много дополнительного кода, чтобы видео не тормозило и стабильно работало на разных устройствах и браузерах.
При проигрывании из файла не обеспечить потоковое воспроизведение без программирования или подключения сервисов стриминга — не получится быстро начать просмотр с любого места. В стандартном плеере минимум функций. В таком «сыром» виде, это не слишком удобно зрителю.
Ещё видеофайлы придётся хранить в файлах сайта на сервере. Место на сервере платное, хранение тяжёлых файлов влетит в копеечку.
Ручное подключение подойдёт для крошечных видео, вроде несложного анимированного фона. Или когда критически важно хранить видео у себя и всегда иметь к нему доступ, и вы готовы ради этого заморочиться или закрыть глаза на перечисленные недостатки.
Видеофайл можно разместить в файлах вашего сайта и подключать вручную тегом video:
<!-- poster — путь до обложки, которая будет видна, пока видео не включат, controls — включает элементы управления плеером -->
<video
class="video"
src="./videos/rickroll.mp4"
poster="./videos/rickroll-preview.jpg"
controls
></video>
.video {
width: 100%;
aspect-ratio: 4/3.15;
/* Заклинание для масштабирования видео под любые размеры тега */
object-fit: cover;
object-position: center;
}
С ручным подключением много заморочек.
Хотя базовый пример кода выглядит просто, он плохо подойдёт для сайтов с большой посещаемостью. По‑хорошему, видеофайлы надо особым образом оптимизировать и готовить в нескольких форматах, писать много дополнительного кода, чтобы видео не тормозило и стабильно работало на разных устройствах и браузерах.
При проигрывании из файла не обеспечить потоковое воспроизведение без программирования или подключения сервисов стриминга — не получится быстро начать просмотр с любого места. В стандартном плеере минимум функций. В таком «сыром» виде, это не слишком удобно зрителю.
Ещё видеофайлы придётся хранить в файлах сайта на сервере. Место на сервере платное, хранение тяжёлых файлов влетит в копеечку.
Ручное подключение подойдёт для крошечных видео, вроде несложного анимированного фона. Или когда критически важно хранить видео у себя и всегда иметь к нему доступ, и вы готовы ради этого заморочиться или закрыть глаза на перечисленные недостатки.
Небольшие зацикленные видео часто используют как декорацию или интересное превью.
Включите автовоспроизведение атрибутом autoplay. Он работает только в связке с muted, убирающим звук — так браузеры защищают читателей от назойливых видео. Атрибут loop зациклит видео. Затем позиционирйте, в зависимости от задачи.
Настроить подобное поведение можно и для айфрейма видеохостинга, актуальные инструкции по атрибутам лучше поискать в интернете, они иногда меняются.
<div class="hero">
<!-- Видео должно весить до пары мегабайт, чтобы не тормозить загрузку страницы -->
<video class="hero__bg" src="./nggyu.mp4" autoplay muted loop></video>
<div class="heroText">
<h1>Рикрол</h1>
<p>…</p>
</div>
</div>
.hero {
position: relative;
aspect-ratio: 16/8;
}
.heroBg {
position: absolute;
z-index: 0;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
/* Видео лучше отключить кликабельность */
pointer-events: none;
}
.heroText {
position: absolute;
z-index: 2;
left: 50%;
bottom: 10%;
translate: -50% 0;
}
Позиционирование
Небольшие зацикленные видео часто используют как декорацию или интересное превью.
Включите автовоспроизведение атрибутом autoplay. Он работает только в связке с muted, убирающим звук — так браузеры защищают читателей от назойливых видео. Атрибут loop зациклит видео. Затем позиционирйте, в зависимости от задачи.
Настроить подобное поведение можно и для айфрейма видеохостинга, актуальные инструкции по атрибутам лучше поискать в интернете, они иногда меняются.
<div class="hero">
<!-- Видео должно весить до пары мегабайт, чтобы не тормозить загрузку страницы -->
<video class="hero__bg" src="./nggyu.mp4" autoplay muted loop></video>
<div class="heroText">
<h1>Рикрол</h1>
<p>…</p>
</div>
</div>
.hero {
position: relative;
aspect-ratio: 16/8;
}
.heroBg {
position: absolute;
z-index: 0;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
/* Видео лучше отключить кликабельность */
pointer-events: none;
}
.heroText {
position: absolute;
z-index: 2;
left: 50%;
bottom: 10%;
translate: -50% 0;
}
Позиционирование
Пример стилизации видеоплеера с помощью media‑chrome
Если храните видео у себя и вас не устраивает вид стандартного плеера тега video, можно подключить библиотеку для настройки своего плеера. Например, VideoJS или media‑chrome.
На 2025 год библиотеки не дают каких‑то особых функций вроде стриминга. Зато можно стилизовать плеер, чтобы он выглядел одинаково аккуратно в разных браузерах.
Инструкции по подключению и настройке ищите на сайте конкретной библиотеки.
Пример стилизации видеоплеера с помощью media‑chrome
Если храните видео у себя и вас не устраивает вид стандартного плеера тега video, можно подключить библиотеку для настройки своего плеера. Например, VideoJS или media‑chrome.
На 2025 год библиотеки не дают каких‑то особых функций вроде стриминга. Зато можно стилизовать плеер, чтобы он выглядел одинаково аккуратно в разных браузерах.
Инструкции по подключению и настройке ищите на сайте конкретной библиотеки.
Если храните видео у себя, используйте формат МП4 и обязательно оптимизируйте видеофайл, чтобы уменьшить его размер и ускорить загрузку. Простой способ оптимизации — сайт МП4 Компрес.
Максимум производительности дают современные форматы и тонкая настройка видео особым софтом. Это сложные технические задачи, которые выходят за рамки книги. Просто запомните, что почти всегда из видео можно выжать ещё больше производительности.
А если видео не подразумевает обязательного просмотра каждым читателем, можно отключить его предзагрузку атрибутом preload="none". По умолчанию браузер предзагружает начало видеофайла, значение none отключает это поведение и чуть ускоряет загрузку страницы. Но тогда уже при включении видео читателю придётся подождать чуть дольше.
<video controls preload="none" src="./about-us.mp4">
</video>
Оптимизатор видео:
МП4 Компрес
Управление предзагрузкой:
preload. МДН
Если храните видео у себя, используйте формат МП4 и обязательно оптимизируйте видеофайл, чтобы уменьшить его размер и ускорить загрузку. Простой способ оптимизации — сайт МП4 Компрес.
Максимум производительности дают современные форматы и тонкая настройка видео особым софтом. Это сложные технические задачи, которые выходят за рамки книги. Просто запомните, что почти всегда из видео можно выжать ещё больше производительности.
А если видео не подразумевает обязательного просмотра каждым читателем, можно отключить его предзагрузку атрибутом preload="none". По умолчанию браузер предзагружает начало видеофайла, значение none отключает это поведение и чуть ускоряет загрузку страницы. Но тогда уже при включении видео читателю придётся подождать чуть дольше.
<video controls preload="none" src="./about-us.mp4">
</video>
Оптимизатор видео:
МП4 Компрес
Управление предзагрузкой:
preload. МДН