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

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

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

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

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

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

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

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

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

Оглавление

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

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

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

Оглавление

Скрыто 36 разворотов

Вот что, в итоге, у нас получилось:

index.html

<article>
  <h1>Основной текст</h1>
  <p>Колонка…</p>

  <p>Текст в основной колонке…</p>

  <p>Текст, выровненный влево…</p>

  <p>Текст дробится на абзацы…</p>
  
  <h2>Подзаголовки</h2>
  <p>Кегль заголовков второго уровня…</p>

  <h3>Заголовки третьего уровня</h3>
  <p>Заголовки третьего уровня…</p>
  <p>Подзаголовки в иерархии…</p>
  
  <h2>Списки</h2>
  <p>Список, или перечень…</p>

  <p>Первый элемент перечня …</p>

  <p>Элементы списков обозначаются:</p>
  <ul>
    <li>арабскими цифрами с точкой;</li>
    <li>арабскими цифрами или русскими строчными буквами;</li>
    <li>с закрывающей скобкой;</li>
    <li>графическими маркерами или наборными знаками;</li>
    <li>втяжкой.</li>
  </ul>

  <p>Если для чистоты вёрстки…</p>
</article>

style.css

:root {
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 1em;
  line-height: 1.3em;
}

h1,
h2 {
  font-family: Georgia, Times, Times New Roman, serif;
}

h1,
h2,
h3,
p,
ul,
ol,
li {
  margin: 0;
}

article {
  max-width: 70%;
}

h1 {
  font-size: 2.25rem;
  line-height: 1.3em;
  font-weight: bold;
}

h1 + p {
  margin-top: 3rem;
}

h2 {
  font-size: 2rem;
  line-height: 1.3em;
  font-weight: normal;
}

* + h2 {
  margin-top: 1.25rem;
}

h2 + p {
  margin-top: .5rem;
}

h3 {
  font-size: 1rem;
  line-height: 1.3em;
  font-weight: bold;
}

* + h3 {
  margin-top: 1.75rem;
}

h3 + p {
  margin-top: 0;
}

ul {
  list-style: none outside;
  margin-left: 2rem;
  padding-left: 0;
}

* + p {
  margin-top: .825rem;
}

* + li {
  margin-top: .4rem;
}

Основной текст

Колонка основного текста занимает 60⁠—70% ширины окна компьютера или планшета. В «резиновой» вёрстке ширина текстовой полосы уменьшается или увеличивается с изменением размера окна или экрана. Но разрешение экранов постоянно растёт, поэтому имеет смысл ограничивать максимальную ширину колонки текста, чтобы строки не становились чрезмерно длинными, а страница — трудной для чтения.

Текст в основной колонке имеет длинные строки, и, как правило, выигрывает в читаемости при небольшом увеличении интерлиньяжа по сравнению со стандартным.

Текст, выровненный влево с рваным правым краем, должен «дышать» справа, то есть край формата или соседняя колонка не должны подходить к нему слишком близко.

Текст дробится на абзацы. В экранной вёрстке абзацы обычно отделяют вертикальными отступами, как в этой главе. В канонической швейцарской сетке, привязанной к базовым линиям, отступ между абзацами строго равен одной строке, поэтому его иногда называют «слепой строкой». На «бесконечной» экранной странице эта условность не имеет смысла, поэтому межабзацный отступ часто уменьшают до половины строки или даже сильнее.

Подзаголовки

Кегль заголовков второго уровня обычно увеличен по сравнению с основным текстом. Перед такими заголовками пропускают примерно две строки, после делают отступ, равный отступу швейцарского абзаца — как у надписи «Подзаголовки» на этом развороте.

Заголовки третьего уровня

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

Подзаголовки в иерархии могут быть оформлены комбинацией разных стилей: кегля, полужирного начертания, капители, курсива и выделения цветом. Главные правила — чередование, то есть яркий контраст стиля заголовков на соседних уровнях вложенности, и чувство меры.

Списки

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

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

Элементы списков обозначаются:

  • арабскими цифрами с точкой;

  • арабскими цифрами или русскими строчными буквами;

  • с закрывающей скобкой;

  • графическими маркерами или наборными знаками;

  • втяжкой.

Если для чистоты вёрстки элементы списка не имеют специальных обозначений, рекомендуется использовать втяжку.

Вот что, в итоге, у нас получилось:

index.html

<article>
  <h1>Основной текст</h1>
  <p>Колонка…</p>

  <p>Текст в основной колонке…</p>

  <p>Текст, выровненный влево…</p>

  <p>Текст дробится на абзацы…</p>
  
  <h2>Подзаголовки</h2>
  <p>Кегль заголовков второго уровня…</p>

  <h3>Заголовки третьего уровня</h3>
  <p>Заголовки третьего уровня…</p>
  <p>Подзаголовки в иерархии…</p>
  
  <h2>Списки</h2>
  <p>Список, или перечень…</p>

  <p>Первый элемент перечня …</p>

  <p>Элементы списков обозначаются:</p>
  <ul>
    <li>арабскими цифрами с точкой;</li>
    <li>арабскими цифрами или русскими строчными буквами;</li>
    <li>с закрывающей скобкой;</li>
    <li>графическими маркерами или наборными знаками;</li>
    <li>втяжкой.</li>
  </ul>

  <p>Если для чистоты вёрстки…</p>
</article>

style.css

:root {
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 1em;
  line-height: 1.3em;
}

h1,
h2 {
  font-family: Georgia, Times, Times New Roman, serif;
}

h1,
h2,
h3,
p,
ul,
ol,
li {
  margin: 0;
}

article {
  max-width: 70%;
}

h1 {
  font-size: 2.25rem;
  line-height: 1.3em;
  font-weight: bold;
}

h1 + p {
  margin-top: 3rem;
}

h2 {
  font-size: 2rem;
  line-height: 1.3em;
  font-weight: normal;
}

* + h2 {
  margin-top: 1.25rem;
}

h2 + p {
  margin-top: .5rem;
}

h3 {
  font-size: 1rem;
  line-height: 1.3em;
  font-weight: bold;
}

* + h3 {
  margin-top: 1.75rem;
}

h3 + p {
  margin-top: 0;
}

ul {
  list-style: none outside;
  margin-left: 2rem;
  padding-left: 0;
}

* + p {
  margin-top: .825rem;
}

* + li {
  margin-top: .4rem;
}

Основной текст

Колонка основного текста занимает 60⁠—70% ширины окна компьютера или планшета. В «резиновой» вёрстке ширина текстовой полосы уменьшается или увеличивается с изменением размера окна или экрана. Но разрешение экранов постоянно растёт, поэтому имеет смысл ограничивать максимальную ширину колонки текста, чтобы строки не становились чрезмерно длинными, а страница — трудной для чтения.

Текст в основной колонке имеет длинные строки, и, как правило, выигрывает в читаемости при небольшом увеличении интерлиньяжа по сравнению со стандартным.

Текст, выровненный влево с рваным правым краем, должен «дышать» справа, то есть край формата или соседняя колонка не должны подходить к нему слишком близко.

Текст дробится на абзацы. В экранной вёрстке абзацы обычно отделяют вертикальными отступами, как в этой главе. В канонической швейцарской сетке, привязанной к базовым линиям, отступ между абзацами строго равен одной строке, поэтому его иногда называют «слепой строкой». На «бесконечной» экранной странице эта условность не имеет смысла, поэтому межабзацный отступ часто уменьшают до половины строки или даже сильнее.

Подзаголовки

Кегль заголовков второго уровня обычно увеличен по сравнению с основным текстом. Перед такими заголовками пропускают примерно две строки, после делают отступ, равный отступу швейцарского абзаца — как у надписи «Подзаголовки» на этом развороте.

Заголовки третьего уровня

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

Подзаголовки в иерархии могут быть оформлены комбинацией разных стилей: кегля, полужирного начертания, капители, курсива и выделения цветом. Главные правила — чередование, то есть яркий контраст стиля заголовков на соседних уровнях вложенности, и чувство меры.

Списки

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

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

Элементы списков обозначаются:

  • арабскими цифрами с точкой;

  • арабскими цифрами или русскими строчными буквами;

  • с закрывающей скобкой;

  • графическими маркерами или наборными знаками;

  • втяжкой.

Если для чистоты вёрстки элементы списка не имеют специальных обозначений, рекомендуется использовать втяжку.

Выключка

Выключка зада­ётся свой­ством text-align с клю­че­выми сло­вами left (левый флаг), center (по цен­тру), right (пра­вый флаг) и justify (по формату).

text‑align: left

Иногда дизайнер влияет на объём текста, задавая редакторам ограничения длины подзаголовков, цитат, въездов и других особых элементов. Но чаще текст — это данность, а верстальщик работает с его формой.

В отличие от заголовка, который стремится по форме к линии, текст — это прямоугольник. По пропорциям прямоугольник может быть широким — горизонтальным, высоким — вертикальным или квадратным.

text‑align: right

Иногда дизайнер влияет на объём текста, задавая редакторам ограничения длины подзаголовков, цитат, въездов и других особых элементов. Но чаще текст — это данность, а верстальщик работает с его формой.

В отличие от заголовка, который стремится по форме к линии, текст — это прямоугольник. По пропорциям прямоугольник может быть широким — горизонтальным, высоким — вертикальным или квадратным.

text‑align: center

Иногда дизайнер влияет на объём текста, задавая редакторам ограничения длины подзаголовков, цитат, въездов и других особых элементов. Но чаще текст — это данность, а верстальщик работает с его формой.

В отличие от заголовка, который стремится по форме к линии, текст — это прямоугольник. По пропорциям прямоугольник может быть широким — горизонтальным, высоким — вертикальным или квадратным.

text‑align: justify

Иногда дизайнер влияет на объём текста, задавая редакторам ограничения длины подзаголовков, цитат, въездов и других особых элементов. Но чаще текст — это данность, а верстальщик работает с его формой.

В отличие от заголовка, который стремится по форме к линии, текст — это прямоугольник. По пропорциям прямоугольник может быть широким — горизонтальным, высоким — вертикальным или квадратным.

Выключка

Выключка задаётся свойством text-align с ключевыми словами left (левый флаг), center (по центру), right (правый флаг) и justify (по формату).

text‑align: left

Иногда дизайнер влияет на объём текста, задавая редакторам ограничения длины подзаголовков, цитат, въездов и других особых элементов. Но чаще текст — это данность, а верстальщик работает с его формой.

text‑align: right

Иногда дизайнер влияет на объём текста, задавая редакторам ограничения длины подзаголовков, цитат, въездов и других особых элементов. Но чаще текст — это данность, а верстальщик работает с его формой.

text‑align: center

Иногда дизайнер влияет на объём текста, задавая редакторам ограничения длины подзаголовков, цитат, въездов и других особых элементов. Но чаще текст — это данность, а верстальщик работает с его формой.

text‑align: justify

Иногда дизайнер влияет на объём текста, задавая редакторам ограничения длины подзаголовков, цитат, въездов и других особых элементов. Но чаще текст — это данность, а верстальщик работает с его формой.

Text is a basic element of layout

In “responsive” layout of a web page, designer specifies not only the shape of the text container but also the rules by which that shape changes depending on window and screen size.

Type size in CSS

In CSS type size of the screen text usually lies in the range of 12 to 16 points and line spacing is 120–140 % of the type size.

Регистр

Регистр зада­ётся свой­ством text-transform с клю­че­выми сло­вами uppercase (все про­пис­ные), lowercase (все строч­ные) и capitalize (пер­вые бук­вые каж­дого слова прописными):

h1 {
  text-transform: capitalize; /* «Капитализируем» заголовок статьи */
}

h2 {
  /* Подзаголовки набираем заглавными
     и жирным курсивом */
  text-transform: uppercase;
  font-style: italic;
  font-weight: bold;
}

abbr {
  font-variant: all-small-caps; /* Аббревиатуры набираем капителью */
}

Text is a basic element of layout

In “responsive” layout of a web page, designer specifies not only the shape of the text container but also the rules by which that shape changes depending on window and screen size.

Type size in CSS

In CSS type size of the screen text usually lies in the range of 12 to 16 points and line spacing is 120–140 % of the type size.

Регистр

Регистр задаётся свойством text-transform с ключевыми словами uppercase (все прописные), lowercase (все строчные) и capitalize (первые буквые каждого слова прописными):

h1 {
  text-transform: capitalize; /* «Капитализируем» заголовок статьи */
}

h2 {
  /* Подзаголовки набираем заглавными
     и жирным курсивом */
  text-transform: uppercase;
  font-style: italic;
  font-weight: bold;
}

abbr {
  font-variant: all-small-caps; /* Аббревиатуры набираем капителью */
}

Капитель, лигатуры и фичи шрифта

Капи­тель и лига­туры — фичи шрифта: какие‑то шрифты их под­дер­жи­вают, какие‑то нет. Вклю­ча­ются через font-variant:

.smallcapitals {
  font-variant: all-small-caps; /* В отличие от small-caps набирает капителью и строчные, и прописные */
}

.liga {
  font-variant: common-ligatures; /* Включаем лигатуры */
}

Для тон­кой настройки исполь­зу­е­мых фич шрифта исполь­зуют font-feature-settings:

body {
  /* Используем кернинг и дроби:
     1/3 превратится в ⅓ */
  font-feature-settings: 'kern', 'frac';
}

Без капители и лигатур

КПСС, ЦСС и difficulty

С капителью и лигатурами

КПСС, ЦСС и difficulty

Без кернинга и дробей

1/3 часть суши
1990—2017

С кернингом и дробями

1/3 часть суши
1990—2017

Капитель, лигатуры и фичи шрифта

Капитель и лигатуры — фичи шрифта: какие‑то шрифты их поддерживают, какие‑то нет. Включаются через font-variant:

.smallcapitals {
  font-variant: all-small-caps; /* В отличие от small-caps набирает капителью и строчные, и прописные */
}

.liga {
  font-variant: common-ligatures; /* Включаем лигатуры */
}

Для тонкой настройки используемых фич шрифта используют font-feature-settings:

body {
  /* Используем кернинг и дроби:
     1/3 превратится в ⅓ */
  font-feature-settings: 'kern', 'frac';
}

Без капители и лигатур

КПСС, ЦСС и difficulty

С капителью и лигатурами

КПСС, ЦСС и difficulty

Без кернинга и дробей

1/3 часть суши
1990—2017

С кернингом и дробями

1/3 часть суши
1990—2017

Межбуквенный и межсловный пробел

Чтобы изме­нить меж­бук­вен­ное или меж­с­лов­ное рас­сто­я­ние, исполь­зуют letter-spacing и word-spacing. Рас­сто­я­ние можно ука­зы­вать как в пик­се­лях, так и в отно­си­тель­ных еди­ни­цах, напри­мер, в em или rem.

Умень­шим меж­бук­вен­ное рас­сто­я­ние в «Метро» на 5,5 пикселей:

.metro,
.metropoliten,
.moscow-metro {
  text-transform: uppercase;
  text-align: center;
}

.metro {
  letter-spacing: -5.5px;
}

Раз­ря­дим буквы в «Мет­ро­по­ли­тен» на .25em:

.metropoliten {
  letter-spacing: .25em;
}

Уве­ли­чим рас­сто­я­ние между сло­вами на .2em:

.moscow-metro {
  word-spacing: .2em;
}

Интересный момент: и letter‑spacing, и word‑spacing задают не ширину пробела, а приращение к его ширине по умолчанию в шрифте. Соответственно, letter‑spacing: 0 не схлопнет растояние между буквами, а сделает его стандартным

Метро

Метрополитен

Мос­ков­ский Мет­ро­по­ли­тен
имени Вла­ди­мира Ильича Ленина

Метро

Метрополитен

Московский Метрополитен
имени Владимира Ильича Ленина

Межбуквенный и межсловный пробел

Чтобы изменить межбуквенное или межсловное расстояние, используют letter-spacing и word-spacing. Расстояние можно указывать как в пикселях, так и в относительных единицах, например, в em или rem.

Уменьшим межбуквенное расстояние в «Метро» на 5,5 пикселей:

.metro,
.metropoliten,
.moscow-metro {
  text-transform: uppercase;
  text-align: center;
}

.metro {
  letter-spacing: -5.5px;
}

Разрядим буквы в «Метрополитен» на .25em:

.metropoliten {
  letter-spacing: .25em;
}

Увеличим расстояние между словами на .2em:

.moscow-metro {
  word-spacing: .2em;
}

Интересный момент: и letter‑spacing, и word‑spacing задают не ширину пробела, а приращение к его ширине по умолчанию в шрифте. Соответственно, letter‑spacing: 0 не схлопнет растояние между буквами, а сделает его стандартным

Скрыто 179 разворотов