🔍 Начните печатать, чтобы искать по книге или перейти к нужной странице по номеру
Удобно листать не только прокруткой, но и клавишами‑стрелками:
Эта книга — пошаговая инструкция по вёрстке сайтов на языках ХТМЛ и ЦСС. Вы узнаете не только как сверстать сайт, но и как опубликовать его в интернете, настроить красивый шаринг в соцсети и подключить системы аналитики.
Отдельный раздел книги посвящён работе с верстальщиком: как ставить задачи, получать предсказуемый результат и правильно принимать и внедрять вёрстку.
Знакомство с ХТМЛ и ЦСС
Модули
Расстановка
Страницы
Спецэффекты
Контроль качества
Публикация
Как работать с верстальщиком
Эта книга — пошаговая инструкция по вёрстке сайтов на языках ХТМЛ и ЦСС. Вы узнаете не только как сверстать сайт, но и как опубликовать его в интернете, настроить красивый шаринг в соцсети и подключить системы аналитики.
Отдельный раздел книги посвящён работе с верстальщиком: как ставить задачи, получать предсказуемый результат и правильно принимать и внедрять вёрстку.
Знакомство с ХТМЛ и ЦСС
Модули
Расстановка
Страницы
Спецэффекты
Контроль качества
Публикация
Как работать с верстальщиком
Текст внутри элементов сам адаптируется под их ширину.
Расположение переносов в тексте зависит от ширины элемента, поэтому полезно подстраховаться: использовать неразрывные пробелы или тег nobr, чтобы подклеить предлоги, союзы, тире и предотвратить неприятные переносы.
Для текстовых элементов полезно ограничивать ширину через min-width и max-width, чтобы ширина текста оставалась комфортной для чтения.
Работаем с
1997 года.
Эксперты на
рынке автоуслуг.
Звоните: 8 800 301‑
64‑40
Работаем
с 1997 года.
Эксперты на рынке
автоуслуг.
Звоните:
Богатая типографика
Перенос текста по слогам
Работаем с
1997 года.
Эксперты на
рынке автоуслуг.
Звоните: 8 800 301‑
64‑40
Работаем
с 1997 года.
Эксперты на рынке
автоуслуг.
Звоните:
Текст внутри элементов сам адаптируется под их ширину.
Расположение переносов в тексте зависит от ширины элемента, поэтому полезно подстраховаться: использовать неразрывные пробелы или тег nobr, чтобы подклеить предлоги, союзы, тире и предотвратить неприятные переносы.
Для текстовых элементов полезно ограничивать ширину через min-width и max-width, чтобы ширина текста оставалась комфортной для чтения.
Богатая типографика
Перенос текста по слогам
Высота элемента — это высота его содержимого плюс размеры внутренних оступов сверху и снизу. Чем выше содержимое, тем выше высота элемента.
<div class="box">
Предлагаю думать о строгих размерах как о гвоздях…
</div>
.box {
padding: 20px 10px 40px;
}
Если явно задать высоту, то содержимое может вылезти за границы элемента.
.box {
padding: 20px 10px 40px;
height: 200px;
}
Лучше всегда исходить из того, что высота содержимого будет расти. Вёрстка обычно строится сверху вниз, новые элементы увеличивают высоту своих родителей. А на узких экранах ширина элемента может уменьшиться и текст внутри займёт больше строк. Поэтому лучше не задавать и не ограничивать высоту свойствами height и max-height, кроме случаев, когда знаете зачем.
А вот ограничить минимальную высоту бывает полезно. Например, когда мы не можем предсказать размеры или даже наличие содержимого в типовых модулях.
.box {
padding: 20px 10px;
min-height: 130px;
}
Предлагаю думать о строгих размерах как о гвоздях, которые намертво приколачивают вёрстку. Иногда без гвоздей не обойтись, но в большинстве случаев они только мешают: убивают гибкость модулей, изменяют их привычное поведение, мешают дорабатывать и развивать вёрстку, работать с содержимым.
Предлагаю думать о строгих размерах как о гвоздях, которые намертво приколачивают вёрстку. Иногда без гвоздей не обойтись, но в большинстве случаев они только мешают: убивают гибкость модулей, изменяют их привычное поведение, мешают дорабатывать и развивать вёрстку, работать с содержимым.
Каждый раз, когда хочется задать строгие размеры в ЦСС, стоит остановиться и подумать, как этого не делать. Лучше потратить десять минут на создание надёжной и гибкой вёрстки сразу, чем в будущем убить часы на её доработку.
★ 4,9 (450) · Средний чек 600₽
Кофейня · Кропоткинская, 95
Открыто · Закроется в 22:30
Кофе с собой · Десерты
Нет отзывов
Кофейня · Вокзальный переулок
★ 5 (2) · Средний чек 500₽
Кофейня · Загорская, 32
Кофе с собой
Предлагаю думать о строгих размерах как о гвоздях, которые намертво приколачивают вёрстку. Иногда без гвоздей не обойтись, но в большинстве случаев они только мешают: убивают гибкость модулей, изменяют их привычное поведение, мешают дорабатывать и развивать вёрстку, работать с содержимым.
Предлагаю думать о строгих размерах как о гвоздях, которые намертво приколачивают вёрстку. Иногда без гвоздей не обойтись, но в большинстве случаев они только мешают: убивают гибкость модулей, изменяют их привычное поведение, мешают дорабатывать и развивать вёрстку, работать с содержимым.
Каждый раз, когда хочется задать строгие размеры в ЦСС, стоит остановиться и подумать, как этого не делать. Лучше потратить десять минут на создание надёжной и гибкой вёрстки сразу, чем в будущем убить часы на её доработку.
★ 4,9 (450) · Средний чек 600₽
Кофейня · Кропоткинская, 95
Открыто · Закроется в 22:30
Кофе с собой · Десерты
Нет отзывов
Кофейня · Вокзальный переулок
★ 5 (2) · Средний чек 500₽
Кофейня · Загорская, 32
Кофе с собой
Высота элемента — это высота его содержимого плюс размеры внутренних оступов сверху и снизу. Чем выше содержимое, тем выше высота элемента.
<div class="box">
Предлагаю думать о строгих размерах как о гвоздях…
</div>
.box {
padding: 20px 10px 40px;
}
Если явно задать высоту, то содержимое может вылезти за границы элемента.
.box {
padding: 20px 10px 40px;
height: 200px;
}
Лучше всегда исходить из того, что высота содержимого будет расти. Вёрстка обычно строится сверху вниз, новые элементы увеличивают высоту своих родителей. А на узких экранах ширина элемента может уменьшиться и текст внутри займёт больше строк. Поэтому лучше не задавать и не ограничивать высоту свойствами height и max-height, кроме случаев, когда знаете зачем.
А вот ограничить минимальную высоту бывает полезно. Например, когда мы не можем предсказать размеры или даже наличие содержимого в типовых модулях.
.box {
padding: 20px 10px;
min-height: 130px;
}
Поскольку по умолчанию содержимое адаптируется под ширину элемента, а высота элемента адаптируется под содержимое, то переполнение может появиться только если где‑то нарушена стандартная адаптивность, заданы строгие размеры.
Поскольку по умолчанию содержимое адаптируется под ширину элемента, а высота элемента адаптируется под содержимое, то переполнение может появиться только если где‑то нарушена стандартная адаптивность, заданы строгие размеры.
Поскольку по умолчанию содержимое адаптируется под ширину элемента, а высота элемента адаптируется под содержимое, то переполнение может появиться только если где‑то нарушена стандартная адаптивность, заданы строгие размеры.
Если содержимое больше ширины или высоты элемента, оно вылезет за его границы. Это называется переполнением.
Переполнение почти всегда сигнализирует о проблемах с вёрсткой. Ведь по умолчанию содержимое элемента адаптируется под ширину, а высота адаптируется под содержимое. Значит, переполнение появится только когда где‑то нарушена адаптивность, заданы строгие размеры. Чтобы переполнение не портило вид сайта, нужно устранить его причину.
Свойство overflow управляет тем, как элемент поступит с переполняющим содержимым.
overflow: visible — по умолчанию — содержимое вылезет за границы, может налезть на соседние элементы или добавить странице ненужную прокрутку.
overflow: hidden — содержимое обрежется по границам элемента.
overflow: scroll — добавит прокрутку не влезшего содержимого. Иногда используется намеренно, чтобы «впихнуть невпихуемое» в дизайне.
Поскольку по умолчанию содержимое адаптируется под ширину элемента, а высота элемента адаптируется под содержимое, то переполнение может появиться только если где‑то нарушена стандартная адаптивность, заданы строгие размеры.
Поскольку по умолчанию содержимое адаптируется под ширину элемента, а высота элемента адаптируется под содержимое, то переполнение может появиться только если где‑то нарушена стандартная адаптивность, заданы строгие размеры.
Поскольку по умолчанию содержимое адаптируется под ширину элемента, а высота элемента адаптируется под содержимое, то переполнение может появиться только если где‑то нарушена стандартная адаптивность, заданы строгие размеры.
Если содержимое больше ширины или высоты элемента, оно вылезет за его границы. Это называется переполнением.
Переполнение почти всегда сигнализирует о проблемах с вёрсткой. Ведь по умолчанию содержимое элемента адаптируется под ширину, а высота адаптируется под содержимое. Значит, переполнение появится только когда где‑то нарушена адаптивность, заданы строгие размеры. Чтобы переполнение не портило вид сайта, нужно устранить его причину.
Свойство overflow управляет тем, как элемент поступит с переполняющим содержимым.
overflow: visible — по умолчанию — содержимое вылезет за границы, может налезть на соседние элементы или добавить странице ненужную прокрутку.
overflow: hidden — содержимое обрежется по границам элемента.
overflow: scroll — добавит прокрутку не влезшего содержимого. Иногда используется намеренно, чтобы «впихнуть невпихуемое» в дизайне.
Свойство aspect-ratio рекомендует элементу пропорцию ширины к высоте:
.hero {
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 4vw;
aspect-ratio: 16 / 9;
padding: 1% 3%;
box-sizing: border-box; /* Включаем размеры падингов в ширину и высоту, чтобы не нарушать пропорцию размерами падингов */
}
Но если высота содержимого превысит высоту элемента, то элемент вырастет и пропорция изменится. Поскольку aspect-ratio лишь рекомендует пропорцию, а не задаёт размеры строго, переполнения не произойдёт.
Свойство aspect-ratio рекомендует элементу пропорцию ширины к высоте:
.hero {
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 4vw;
aspect-ratio: 16 / 9;
padding: 1% 3%;
box-sizing: border-box; /* Включаем размеры падингов в ширину и высоту, чтобы не нарушать пропорцию размерами падингов */
}
Но если высота содержимого превысит высоту элемента, то элемент вырастет и пропорция изменится. Поскольку aspect-ratio лишь рекомендует пропорцию, а не задаёт размеры строго, переполнения не произойдёт.
Чтобы применить стили при соблюдении условий, связанных с форматом отображения, настройкой оформления или устройством пользователя, используют медиавыражения. Выражение состоит из условия и набора стилей, которые браузер должен применить при его соблюдении.
Чаще всего медиавыражение используют, чтобы применить особые стили на определённом размере экрана.
Допустим, у нас есть страница с текстовым модулем. Сначала напишем стили по умолчанию, которые будут применятся всегда:
<body>
<div class="text">
<p>…</p>
<p>…</p>
<p>…</p>
</div>
</body>
body {
font-size: 24px;
padding: 24px;
}
.text {
max-width: 640px;
margin: 0 auto;
}
Затем допишем медиавыражение с набором стилей для ширины менее 600 пк. На этой ширине браузер применит стили из медиавыражения, дополнив или переопределив написанные ранее стили страницы.
body {
font-size: 24px;
padding: 32px;
}
.text {
max-width: 640px;
margin: 0 auto;
}
@media (width < 600px) {
body {
font-size: 18px;
padding: 16px;
}
.text {
max-width: none;
}
}
Наследование стилей
Конфликты стилей
Чтобы применить стили при соблюдении условий, связанных с форматом отображения, настройкой оформления или устройством пользователя, используют медиавыражения. Выражение состоит из условия и набора стилей, которые браузер должен применить при его соблюдении.
Чаще всего медиавыражение используют, чтобы применить особые стили на определённом размере экрана.
Допустим, у нас есть страница с текстовым модулем. Сначала напишем стили по умолчанию, которые будут применятся всегда:
<body>
<div class="text">
<p>…</p>
<p>…</p>
<p>…</p>
</div>
</body>
body {
font-size: 24px;
padding: 24px;
}
.text {
max-width: 640px;
margin: 0 auto;
}
Затем допишем медиавыражение с набором стилей для ширины менее 600 пк. На этой ширине браузер применит стили из медиавыражения, дополнив или переопределив написанные ранее стили страницы.
body {
font-size: 24px;
padding: 32px;
}
.text {
max-width: 640px;
margin: 0 auto;
}
@media (width < 600px) {
body {
font-size: 18px;
padding: 16px;
}
.text {
max-width: none;
}
}
Наследование стилей
Конфликты стилей