🔍 Начните печатать, чтобы искать по книге или перейти к нужной странице по номеру

Удобно листать не только прокруткой, но и клавишами‑стрелками:

 
между важными местами
Shift
между
разворотами
Васи­лий Полов­нёв, Игорь Пет­ров

ХТМЛ.
Вёрстка сайтов

Изда­тель­ство Бюро Гор­бу­нова
2021
Василий Половнёв, Игорь Петров

ХТМЛ.
Вёрстка сайтов

Издательство Бюро Горбунова
2021
удк 004.42
ббк З973.42
П52
Васи­лий Полов­нёв, Игорь Пет­ров
П52
ХТМЛ. Вёрстка сай­тов для дизай­не­ров, редак­то­ров и руко­во­ди­те­лей.—
М.: Изд‑во Бюро Гор­бу­нова, 2021

Эта книга — поша­го­вая инструк­ция по вёрстке сай­тов на язы­ках ХТМЛ и ЦСС. Вы узна­ете не только как свер­стать сайт, но и как опуб­ли­ко­вать его в интер­нете, настро­ить кра­си­вый шаринг в соц­сети и под­клю­чить системы аналитики.

Отдель­ный раз­дел книги посвя­щён работе с вер­сталь­щи­ком: как ста­вить задачи, полу­чать пред­ска­зу­е­мый резуль­тат и пра­вильно при­ни­мать и внед­рять вёрстку.

Оглавление

удк 004.42
ббк З973.42
П52
П52
Василий Половнёв, Игорь Петров
ХТМЛ. Вёрстка сайтов для дизайнеров, редакторов и руководителей.—
М.: Изд‑во Бюро Горбунова, 2021

Эта книга — пошаговая инструкция по вёрстке сайтов на языках ХТМЛ и ЦСС. Вы узнаете не только как сверстать сайт, но и как опубликовать его в интернете, настроить красивый шаринг в соцсети и подключить системы аналитики.

Отдельный раздел книги посвящён работе с верстальщиком: как ставить задачи, получать предсказуемый результат и правильно принимать и внедрять вёрстку.

Оглавление

Скрыто 92 разворота
Кто такой? Чем зна­ме­нит?Я вели­кий ком­би­на­тор, идей­ный борец за денеж­ные знаки.Кроме того, я знаю четы­ре­ста срав­ни­тельно чест­ных спо­соба отъ­ёма денег.АферыВ городе Арба­тове выдал себя за сына лей­те­нанта Шмидта и полу­чил от пред­се­да­теля гор­ис­пол­кома неболь­шую мате­ри­аль­ную помощь.

Флоаты

С помо­щью фло­атов эле­мент можно при­жать либо к левому, либо к пра­вому краю роди­теля. Сле­ду­ю­щие за ним эле­менты под­тя­ги­ва­ются вверх, пыта­ясь занять его место, или обте­кают его.

Фло­аты исполь­зуют редко, чаще всего, чтобы задать кар­тинке обте­ка­ние текстом:

<section>
  <img src="ostap.jpg">

  <h3>Кто такой? Чем знаменит?</h3>
  <p>
     Я великий комбинатор,
     идейный борец за денежные знаки.
  </p>
  <p>
     Кроме того, я знаю четыреста сравнительно честных
     способа отъёма денег.
  </p>
</section>
img {
  /* Прижимаем картинку вправо */
  float: right;
  /* Фиксируем высоту картинки */
  height: 8em;
  width: auto;
  /* Добавляем отступ слева,
    чтобы текст не влипал в иллюстрацию */
  margin-left: 1em;
}

Давным‑давно разработчики «хакали» ЦСС, создавая колоночную вёрстку на флоатах и маржинах:

Кто такой? Чем знаменит?Я великий комбинатор, идейный борец за денежные знаки.Кроме того, я знаю четыреста сравнительно честных способа отъёма денег.АферыВ городе Арбатове выдал себя за сына лейтенанта Шмидта и получил от председателя горисполкома небольшую материальную помощь.

Флоаты

С помощью флоатов элемент можно прижать либо к левому, либо к правому краю родителя. Следующие за ним элементы подтягиваются вверх, пытаясь занять его место, или обтекают его.

Флоаты используют редко, чаще всего, чтобы задать картинке обтекание текстом:

<section>
  <img src="ostap.jpg">

  <h3>Кто такой? Чем знаменит?</h3>
  <p>
     Я великий комбинатор,
     идейный борец за денежные знаки.
  </p>
  <p>
     Кроме того, я знаю четыреста сравнительно честных
     способа отъёма денег.
  </p>
</section>
img {
  /* Прижимаем картинку вправо */
  float: right;
  /* Фиксируем высоту картинки */
  height: 8em;
  width: auto;
  /* Добавляем отступ слева,
    чтобы текст не влипал в иллюстрацию */
  margin-left: 1em;
}

Давным‑давно разработчики «хакали» ЦСС, создавая колоночную вёрстку на флоатах и маржинах:

Флексбоксы

Флек­с­бокс — это набор ЦСС‑свойств для гиб­кой рас­кладки эле­мен­тов на стра­нице или в отдель­ном блоке.

Чтобы вклю­чить флек­с­бокс, нужно задать эле­менту display: flex. Тогда эле­мент ста­нет флекс‑кон­тей­не­ром, а все вло­жен­ные в него эле­менты ста­нут флекс‑элементами.

Отно­си­тесь к флекс‑кон­тей­неру, как к пря­мо­уголь­ному фор­мату, внутри кото­рого можно рас­по­ло­жить несколько эле­мен­тов по стро­кам или колон­кам, выров­няв их по одной из сто­рон или рас­пре­де­лив по формату.

Нач­нём с разметки:

<div class="columns">
  <div>Первая</div>
  <div>Вторая</div>
  <div>Третья</div>
</div>

Доба­вим колон­кам цвет и отступы для наглядности:

/* Составной селектор > * выделяет
   любые элементы (*), находящиеся
   непосредственно в .columns (>) */
.columns > * {
  background: #e5f5ff;
  padding: 9px;
}

Вклю­чим флексбокс:

.columns {
  display: flex;
}

Рав­но­мерно рас­пре­де­лим колонки, отжав первую и послед­нюю к краям:

.columns {
  display: flex;
  justify-content: space-between;
}
Пер­вая
Вто­рая
Тре­тья
Пер­вая
Вто­рая
Тре­тья
Пер­вая
Вто­рая
Тре­тья
Пер­вая
Вто­рая
Тре­тья
Первая
Вторая
Третья
Первая
Вторая
Третья
Первая
Вторая
Третья
Первая
Вторая
Третья

Флексбоксы

Флексбокс — это набор ЦСС‑свойств для гибкой раскладки элементов на странице или в отдельном блоке.

Чтобы включить флексбокс, нужно задать элементу display: flex. Тогда элемент станет флекс‑контейнером, а все вложенные в него элементы станут флекс‑элементами.

Относитесь к флекс‑контейнеру, как к прямоугольному формату, внутри которого можно расположить несколько элементов по строкам или колонкам, выровняв их по одной из сторон или распределив по формату.

Начнём с разметки:

<div class="columns">
  <div>Первая</div>
  <div>Вторая</div>
  <div>Третья</div>
</div>

Добавим колонкам цвет и отступы для наглядности:

/* Составной селектор > * выделяет
   любые элементы (*), находящиеся
   непосредственно в .columns (>) */
.columns > * {
  background: #e5f5ff;
  padding: 9px;
}

Включим флексбокс:

.columns {
  display: flex;
}

Равномерно распределим колонки, отжав первую и последнюю к краям:

.columns {
  display: flex;
  justify-content: space-between;
}

🕑

Глав­ная ось →

Попе­реч­ная ось →

Серая область — флекс‑контейнер, «кубики» внутри — флекс‑элементы

Клю­че­вая идея рас­кладки флек­с­бок­сами — вве­де­ние глав­ной и попе­реч­ной осей, по кото­рым и будут рас­кла­ды­ваться флекс‑элементы.

Ключевая идея раскладки флексбоксами — введение главной и поперечной осей, по которым и будут раскладываться флекс‑элементы.

🕑

Главная ось →

Поперечная ось →

Серая область — флекс‑контейнер, «кубики» внутри — флекс‑элементы

flex‑direction: row

🕑

flex‑direction: row‑reverse

🕑

flex‑direction: column

🕑

flex‑direction: column‑reverse

🕑

Главная ось

За направ­ле­ние глав­ной оси отве­чает flex-direction. Если эле­менты нужно раз­ло­жить слева направо, исполь­зуем flex-direction: row; справа налево — row-reverse. Если сверху вниз, исполь­зуем flex-direction: column; снизу вверх — column-reverse

Главная ось

За направление главной оси отвечает flex-direction. Если элементы нужно разложить слева направо, используем flex-direction: row; справа налево — row-reverse. Если сверху вниз, используем flex-direction: column; снизу вверх — column-reverse

flex‑direction: row

🕑

flex‑direction: column

🕑

flex‑direction: row‑reverse

🕑

flex‑direction: column‑reverse

🕑

justify‑content: flex‑start

🕑

justify‑content: center

🕑

justify‑content: flex‑end

🕑

За вырав­ни­ва­ние эле­мен­тов на глав­ной оси отве­чает свой­ство justify-content. Если эле­менты нужно при­жать к началу оси, исполь­зуем justify-content: flex-start; если к концу, то justify-content: flex-end; если к цен­тру, то justify-content: center

За выравнивание элементов на главной оси отвечает свойство justify-content. Если элементы нужно прижать к началу оси, используем justify-content: flex-start; если к концу, то justify-content: flex-end; если к центру, то justify-content: center

justify‑content: flex‑start

🕑

justify‑content: center

🕑

justify‑content: flex‑end

🕑
Скрыто 123 разворота