🔍 Начните печатать, чтобы искать по книге или перейти к нужной странице по номеру
Удобно листать не только прокруткой, но и клавишами‑стрелками:
Эта книга — пошаговая инструкция по вёрстке сайтов на языках ХТМЛ и ЦСС. Вы узнаете не только как сверстать сайт, но и как опубликовать его в интернете, настроить красивый шаринг в соцсети и подключить системы аналитики.
Отдельный раздел книги посвящён работе с верстальщиком: как ставить задачи, получать предсказуемый результат и правильно принимать и внедрять вёрстку.
Знакомство с ХТМЛ и ЦСС
Модули
Расстановка
Страницы
Спецэффекты
Контроль качества
Публикация
Как работать с верстальщиком
Эта книга — пошаговая инструкция по вёрстке сайтов на языках ХТМЛ и ЦСС. Вы узнаете не только как сверстать сайт, но и как опубликовать его в интернете, настроить красивый шаринг в соцсети и подключить системы аналитики.
Отдельный раздел книги посвящён работе с верстальщиком: как ставить задачи, получать предсказуемый результат и правильно принимать и внедрять вёрстку.
Знакомство с ХТМЛ и ЦСС
Модули
Расстановка
Страницы
Спецэффекты
Контроль качества
Публикация
Как работать с верстальщиком
Призыв к действию. Ключевой модуль промостраницы — призыв к целевому действию (CTA, call to action). Мы называем этот блок товарным предложением. Раскладка и состав зависят от продукта.
Рецепт вёрстки классический: соберите раскладку флексами или гридами, затем последовательно стилизуйте внутренние элементы.
<div class="cols">
<div class="col">
<h3>Когда что выйдет</h3>
<p>…</p>
<form class="subscriptionForm">…</form>
</div>
<div class="col">
<h3>Подписка</h3>
<div class="prices">…</div>
<p>…</p>
</div>
</div>
Кнопки призыва к действию можно разместить в самом модуле, но обычно их закрепляют и держат на виду во время прокрутки страницы. Как это сделать — разберём дальше
Призыв к действию. Ключевой модуль промостраницы — призыв к целевому действию (CTA, call to action). Мы называем этот блок товарным предложением. Раскладка и состав зависят от продукта.
Рецепт вёрстки классический: соберите раскладку флексами или гридами, затем последовательно стилизуйте внутренние элементы.
Кнопки призыва к действию можно разместить в самом модуле, но обычно их закрепляют и держат на виду во время прокрутки страницы. Как это сделать — разберём дальше
<div class="cols">
<div class="col">
<h3>Когда что выйдет</h3>
<p>…</p>
<form class="subscriptionForm">…</form>
</div>
<div class="col">
<h3>Подписка</h3>
<div class="prices">…</div>
<p>…</p>
</div>
</div>
Залипающая кнопка. Чтобы кнопка оставалась на виду при прокрутке, её можно зафиксировать с помощью position: fixed. Но чтобы ограничить диапазон прокрутки и кнопка не залезала в шапку и подвал, лучше использовать position: sticky в «шахте».
<div class="promo">
<!-- … -->
<div class="stickyShaft">
<div class="stickyContent">…</div>
</div>
</div>
.stickyShaft {
position: absolute;
right: 32px;
bottom: 144px;
top: 75vh;
width: 0;
}
.stickyContent {
position: sticky;
top: calc(100vh - 75px);
}
Залипающая кнопка. Чтобы кнопка оставалась на виду при прокрутке, её можно зафиксировать с помощью position: fixed. Но чтобы ограничить диапазон прокрутки и кнопка не залезала в шапку и подвал, лучше использовать position: sticky в «шахте».
<div class="promo">
<!-- … -->
<div class="stickyShaft">
<div class="stickyContent">…</div>
</div>
</div>
.stickyShaft {
position: absolute;
right: 32px;
bottom: 144px;
top: 75vh;
width: 0;
}
.stickyContent {
position: sticky;
top: calc(100vh - 75px);
}
Современная интерактивная статья содержит фотографии, инфографику, видео и аудио, анимацию, перебивки и сноски разного формата — для красоты, интересной и понятной подачи материала.
Разберём приёмы вёрстки интерактивной статьи.
Вёрстка базовой текстовой страницы:
Текстовые модули
Захари Смол и Рамси Тейлор. How The Legend of Zelda Changed the Game
Современная интерактивная статья содержит фотографии, инфографику, видео и аудио, анимацию, перебивки и сноски разного формата — для красоты, интересной и понятной подачи материала.
Разберём приёмы вёрстки интерактивной статьи.
Вёрстка базовой текстовой страницы:
Текстовые модули
Захари Смол и Рамси Тейлор. How The Legend of Zelda Changed the Game
Самая распространённая структура интерактивной статьи — «бутерброд», в котором модули расположены слоями, или этажами, друг под другом.
Обычно для статьи достаточно двух видов слоёв: с ограниченной шириной для текста и на всю ширину для обложки, графики и других перебивок. Слои — универсальные контейнеры для чего угодно: картинок, текста и даже других слоёв.
.layer {
max-width: 768px;
margin: 0 auto;
}
.layer.fullWidth {
max-width: none;
}
.layer + .layer {
margin-top: 72px;
}
<div class="layer fullWidth">
<img src="cover.jpg" alt="…">
</div>
<div class="layer">
<p>…</p>
<p>…</p>
</div>
<div class="layer">
<figure class="image">
<img src="…" alt="…">
<figcaption>…</figcaption>
</figure>
</div>
<div class="layer">
<p>…</p>
</div>
Иллюстрация с подписью
Самая распространённая структура интерактивной статьи — «бутерброд», в котором модули расположены слоями, или этажами, друг под другом.
Обычно для статьи достаточно двух видов слоёв: с ограниченной шириной для текста и на всю ширину для обложки, графики и других перебивок. Слои — универсальные контейнеры для чего угодно: картинок, текста и даже других слоёв.
.layer {
max-width: 768px;
margin: 0 auto;
}
.layer.fullWidth {
max-width: none;
}
.layer + .layer {
margin-top: 72px;
}
<div class="layer fullWidth">
<img src="cover.jpg" alt="…">
</div>
<div class="layer">
<p>…</p>
<p>…</p>
</div>
<div class="layer">
<figure class="image">
<img src="…" alt="…">
<figcaption>…</figcaption>
</figure>
</div>
<div class="layer">
<p>…</p>
</div>
Иллюстрация с подписью
Фоторама — это галерея фотографий с одной крупной фотографией и возможностью пролистывания и выбора других фотографий по превьюшкам.
В ХТМЛ нет специальных тегов для вёрстки фоторамы, для этого используют Яваскрипт‑библиотеки.
Советуем библиотеку «Фоторама» Артёма Поликарпова. Она подключается в одно движение, аккуратно выглядит, умеет открывать фото на весь экран и поддерживает видео.
Скачайте архив с сайта «Фоторамы», распакуйте файлы рядом с вашей вёрсткой и добавьте код в head:
<!-- Вспомогательные библиотеки, подключаем из интернета, но можно скачать и тоже держать рядом с вёрсткой -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link href="./fotorama.css" rel="stylesheet">
<script src="./fotorama.js">
</script>
Затем в нужном месте страницы оберните картинки в элемент с классом fotorama. Атрибутами по желанию включите информативные превьюшки и возможность разворачивать фото на весь экран. Инструкции на сайте помогут настроить дизайн и поведение «Фоторамы».
<div class="fotorama"
data-allowfullscreen="true"
data-nav="thumbs"
data-thumbwidth="160px"
data-thumbheight="90px">
<img src="./house-1.jpg">
<img src="./house-2.jpg">
<img src="./house-3.jpg">
<img src="./house-4.jpg">
<img src="./house-5.jpg">
</div>
Фоторама — это галерея фотографий с одной крупной фотографией и возможностью пролистывания и выбора других фотографий по превьюшкам.
В ХТМЛ нет специальных тегов для вёрстки фоторамы, для этого используют Яваскрипт‑библиотеки.
Советуем библиотеку «Фоторама» Артёма Поликарпова. Она подключается в одно движение, аккуратно выглядит, умеет открывать фото на весь экран и поддерживает видео.
Скачайте архив с сайта «Фоторамы», распакуйте файлы рядом с вашей вёрсткой и добавьте код в head:
<!-- Вспомогательные библиотеки, подключаем из интернета, но можно скачать и тоже держать рядом с вёрсткой -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link href="./fotorama.css" rel="stylesheet">
<script src="./fotorama.js">
</script>
Затем в нужном месте страницы оберните картинки в элемент с классом fotorama. Атрибутами по желанию включите информативные превьюшки и возможность разворачивать фото на весь экран. Инструкции на сайте помогут настроить дизайн и поведение «Фоторамы».
<div class="fotorama"
data-allowfullscreen="true"
data-nav="thumbs"
data-thumbwidth="160px"
data-thumbheight="90px">
<img src="./house-1.jpg">
<img src="./house-2.jpg">
<img src="./house-3.jpg">
<img src="./house-4.jpg">
<img src="./house-5.jpg">
</div>