🔍 Начните печатать, чтобы искать по книге или перейти к нужной странице по номеру
Удобно листать не только прокруткой, но и клавишами‑стрелками:
Эта книга — пошаговая инструкция по вёрстке сайтов на языках ХТМЛ и ЦСС. Вы узнаете не только как сверстать сайт, но и как опубликовать его в интернете, настроить красивый шаринг в соцсети и подключить системы аналитики.
Отдельный раздел книги посвящён работе с верстальщиком: как ставить задачи, получать предсказуемый результат и правильно принимать и внедрять вёрстку.
Знакомство с ХТМЛ и ЦСС
Модули
Расстановка
Страницы
Спецэффекты
Контроль качества
Публикация
Как работать с верстальщиком
Эта книга — пошаговая инструкция по вёрстке сайтов на языках ХТМЛ и ЦСС. Вы узнаете не только как сверстать сайт, но и как опубликовать его в интернете, настроить красивый шаринг в соцсети и подключить системы аналитики.
Отдельный раздел книги посвящён работе с верстальщиком: как ставить задачи, получать предсказуемый результат и правильно принимать и внедрять вёрстку.
Знакомство с ХТМЛ и ЦСС
Модули
Расстановка
Страницы
Спецэффекты
Контроль качества
Публикация
Как работать с верстальщиком
Сайдноуты — это примечания на полях. Убедитесь, что размер полей достаточен и поставьте туда сайдноуты абсолютом:
/* Абсолют и вынос на поля только когда позволяет ширина экрана */
@media (width > 768px) {
.layer {
--sideWidth: 5em; /* Ширину сайдноута — в переменную, чтобы не повторяться */
position: relative; /* Для работы абсолютного позиционирования внутри слоя */
padding-right: calc(var(--sideWidth) + 1em); /* Поля больше ширины сайдноута, чтобы был отступ от текста */
}
.sidenote {
width: var(--sideWidth);
position: absolute;
right: 0;
}
}
<div class="layer">
<p>…</p>
<div class="sidenote">
<a href="…">Интерфейс — зло</a>
</div>
<p>…</p>
<p>…</p>
</div>
Сайдноуты — это примечания на полях. Убедитесь, что размер полей достаточен и поставьте туда сайдноуты абсолютом:
/* Абсолют и вынос на поля только когда позволяет ширина экрана */
@media (width > 768px) {
.layer {
--sideWidth: 5em; /* Ширину сайдноута — в переменную, чтобы не повторяться */
position: relative; /* Для работы абсолютного позиционирования внутри слоя */
padding-right: calc(var(--sideWidth) + 1em); /* Поля больше ширины сайдноута, чтобы был отступ от текста */
}
.sidenote {
width: var(--sideWidth);
position: absolute;
right: 0;
}
}
<div class="layer">
<p>…</p>
<div class="sidenote">
<a href="…">Интерфейс — зло</a>
</div>
<p>…</p>
<p>…</p>
</div>
У сайдноутов с абсолютным позиционированием есть проблема.
Чтобы на широком экране они встали на поля, в разметке сайдноут должен стоять над текстом, к которому относится.
На узком экране, когда абсолют не применяется, сайдноут остаётся над текстом и это неправильно по смыслу, ведь сайдноут — примечание к тексту.
<div class="layer">
<div class="sidenote">…</div>
<p>…</p>
</div>
Самый простой способ исправить это без программирования — продублировать сайдноуты в разметке над и под текстом, на узком экране прятать один и показывать другой.
В идеале — запрограммировать сайт, чтобы он создавал такие копии сайдноутов автоматически.
<div class="layer">
<div class="sidenote">…</div>
<p>…</p>
<div class="sidenote is__sm">…</div>
</div>
.sidenote:not(.is__sm) {
display: none;
}
@media (width > 768px) {
.sidenote.is__sm {
display: none;
}
.sidenote:not(.is__sm) {
display: block;
}
}
У сайдноутов с абсолютным позиционированием есть проблема.
Чтобы на широком экране они встали на поля, в разметке сайдноут должен стоять над текстом, к которому относится.
На узком экране, когда абсолют не применяется, сайдноут остаётся над текстом и это неправильно по смыслу, ведь сайдноут — примечание к тексту.
<div class="layer">
<div class="sidenote">…</div>
<p>…</p>
</div>
Самый простой способ исправить это без программирования — продублировать сайдноуты в разметке над и под текстом, на узком экране прятать один и показывать другой.
В идеале — запрограммировать сайт, чтобы он создавал такие копии сайдноутов автоматически.
<div class="layer">
<div class="sidenote">…</div>
<p>…</p>
<div class="sidenote is__sm">…</div>
</div>
.sidenote:not(.is__sm) {
display: none;
}
@media (width > 768px) {
.sidenote.is__sm {
display: none;
}
.sidenote:not(.is__sm) {
display: block;
}
}
Плашка помогает отделить модуль от соседнего и объединить его собственные части. Оформление плашки — дань текущей моде или фирменному стилю, но её функция остаётся одной и той же — выделять и объединять.
В вёрстке простейшая плашка — просто контейнер с полями и фоном. Хорошая идея — одновременно «сломать» сетку и создать внутри плашки особый ритм, чтобы дополнительно выделить её среди других модулей.
.boxed {
padding: 36px 9px 72px;
background: #f3f5f4;
}
<div class="boxed">
<div class="cols">
<!-- … -->
</div>
</div>О сетках:
Флексбоксы
Гриды
Плашка помогает отделить модуль от соседнего и объединить его собственные части. Оформление плашки — дань текущей моде или фирменному стилю, но её функция остаётся одной и той же — выделять и объединять.
В вёрстке простейшая плашка — просто контейнер с полями и фоном. Хорошая идея — одновременно «сломать» сетку и создать внутри плашки особый ритм, чтобы дополнительно выделить её среди других модулей.
.boxed {
padding: 36px 9px 72px;
background: #f3f5f4;
}
<div class="boxed">
<div class="cols">
<!-- … -->
</div>
</div>О сетках:
Флексбоксы
Гриды
Выносы и цитаты привлекают внимание. Если они интересные — читателю захочется узнать подробности в тексте. Вынос верстают обёрткой с особыми стилями:
<p>…</p>
<div class="liftOut">
<p>…</p>
</div>
<p>…</p>
.liftOut {
font-size: 200%;
padding-left: 1.25em;
color: #00aff0;
}
.liftOut:not(:last-child) {
margin-bottom: 1.25em;
}
Выносы и цитаты привлекают внимание. Если они интересные — читателю захочется узнать подробности в тексте. Вынос верстают обёрткой с особыми стилями:
<p>…</p>
<div class="liftOut">
<p>…</p>
</div>
<p>…</p>
.liftOut {
font-size: 200%;
padding-left: 1.25em;
color: #00aff0;
}
.liftOut:not(:last-child) {
margin-bottom: 1.25em;
}
Для цитат есть специальные теги, советуем использовать именно их: страница будет понятнее поисковым роботам и программам чтения с экрана.
Цитаты внутри текста верстают тегом q.
Тег оборачивает содержимое в кавычки, советуем сразу отключить это в ЦСС и расставлять кавычки вручную. Так проще работать с вложенными кавычками: когда внутри цитаты есть слова в кавычках, используют другой вид кавычек. А главное — кавычки в тексте не потеряются при копировании, в отличие от ЦСС‑кавычек.
<p>
М. М. Бахтин писал: <q>«Тришатов рассказывает подростку о своей любви к музыке и развивает перед ним замысел оперы: „Послушайте, любите вы музыку? Я ужасно люблю… Если бы я сочинял оперу, то, знаете, я бы взял сюжет из ,Фауста‘. Я очень люблю эту тему“»</q>.
<p>
q {
/* Отключаем ЦСС-кавычки */
quotes: none;
/* Стилизуем по вкусу */
font-style: italic;
}Пример: Аркадий Мильчин и Людмила Чельцова. Справочник издателя и автора
М. М. Бахтин писал: «Тришатов рассказывает подростку о своей любви к музыке и развивает перед ним замысел оперы: „Послушайте, любите вы музыку? Я ужасно люблю… Если бы я сочинял оперу, то, знаете, я бы взял сюжет из ,Фауста‘. Я очень люблю эту тему“»
.
Для цитат есть специальные теги, советуем использовать именно их: страница будет понятнее поисковым роботам и программам чтения с экрана.
Цитаты внутри текста верстают тегом q.
Тег оборачивает содержимое в кавычки, советуем сразу отключить это в ЦСС и расставлять кавычки вручную. Так проще работать с вложенными кавычками: когда внутри цитаты есть слова в кавычках, используют другой вид кавычек. А главное — кавычки в тексте не потеряются при копировании, в отличие от ЦСС‑кавычек.
<p>
М. М. Бахтин писал: <q>«Тришатов рассказывает подростку о своей любви к музыке и развивает перед ним замысел оперы: „Послушайте, любите вы музыку? Я ужасно люблю… Если бы я сочинял оперу, то, знаете, я бы взял сюжет из ,Фауста‘. Я очень люблю эту тему“»</q>.
<p>
q {
/* Отключаем ЦСС-кавычки */
quotes: none;
/* Стилизуем по вкусу */
font-style: italic;
}Пример: Аркадий Мильчин и Людмила Чельцова. Справочник издателя и автора
М. М. Бахтин писал: «Тришатов рассказывает подростку о своей любви к музыке и развивает перед ним замысел оперы: „Послушайте, любите вы музыку? Я ужасно люблю… Если бы я сочинял оперу, то, знаете, я бы взял сюжет из ,Фауста‘. Я очень люблю эту тему“»
.