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

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

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

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

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

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

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

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

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

Оглавление

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

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

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

Оглавление

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

Цвет

Бордовый алерт с полупрозрачным фоном

Цвет тек­ста и фона задают свой­ствами color и background-color. Можно исполь­зо­вать HSL, RGB или RGBA, если нужно доба­вить цвету прозрачность:

.alert {
  /* Задаём бордовый цвет текста в HSL */
  color: hsl(354.6, 61%, 32.2%);

  /* В RGB */
  color: rgb(132, 32, 41);

  /* Он же в шестнадцатеричном виде */
  color: #842029;

  /* Для фона берём красный
     с 15% прозрачностью */
  background-color: rgba(255, 0, 0, .15);

  /* И добавляем внутренние отступы
     для аккуратности */
  padding: 21px 11px 40px;
}

Инвертированная плашка с рамкой в 2 пк

Когда точ­ные цвета неважны, напри­мер, во время отладки или в демон­стра­ци­он­ных целях, быст­рее исполь­зо­вать име­но­ван­ные цвета:

.inverted {
  color: white;
  background-color: black;
  border: 2px solid red;
  padding: 19px 9px 38px;
}

Цвет

Бордовый алерт с полупрозрачным фоном

Цвет текста и фона задают свойствами color и background-color. Можно использовать HSL, RGB или RGBA, если нужно добавить цвету прозрачность:

.alert {
  /* Задаём бордовый цвет текста в HSL */
  color: hsl(354.6, 61%, 32.2%);

  /* В RGB */
  color: rgb(132, 32, 41);

  /* Он же в шестнадцатеричном виде */
  color: #842029;

  /* Для фона берём красный
     с 15% прозрачностью */
  background-color: rgba(255, 0, 0, .15);

  /* И добавляем внутренние отступы
     для аккуратности */
  padding: 21px 11px 40px;
}

Инвертированная плашка с рамкой в 2 пк

Когда точные цвета неважны, например, во время отладки или в демонстрационных целях, быстрее использовать именованные цвета:

.inverted {
  color: white;
  background-color: black;
  border: 2px solid red;
  padding: 19px 9px 38px;
}
h1 + p:first-letter {
  float: left; /* Настраиваем буквицу: задаём обтекание текстом */
  font-size: 2.7em; /* Увеличиваем кегль */
  line-height: .25em; /* Уменьшаем интерлиньяж, чтобы он не взрывал интерлиньяж абзаца */
  margin-top: .37em; /* Двигаем ближе к тексту, чтобы занять ровно 2 строки */
}

::selection {
  background: #02aff0; /* Меняем цвет и фон выделенного текста */
  color: #fff;
}

code ::selection {
  background: #000;
  color: #31ff53;
  text-shadow: -1px 1px #0043ff;
}

Sometimes, layout designer controls the volume of text by limiting the length of subheads, quotes, sidebars, and other special elements. But often text is given as is, and layout designer works only with its shape.

Буквица, первая строка и выделение

Для управ­ле­ния пер­вой бук­вой, пер­вой стро­кой и выде­ле­нием тек­ста исполь­зуют псев­до­эле­менты — «вир­ту­аль­ные» кусочки тек­ста, кото­рые можно исполь­зо­вать в ЦСС, не добав­ляя лиш­нюю раз­метку. Пер­вой букве тек­ста соот­вет­ствует псев­до­эле­мент :first-letter, пер­вой строке — :first-line, выде­ле­нию — ::selection

Сти­ли­за­ция выде­ле­ния не рабо­тает на тач‑устройствах.

Интересный момент: псевдоэлементы ограничены здравым смыслом в свойствах, которые можно в них поменять.

Например, в ::selection можно менять цвет, фон, тень и подчёркивание‑зачёркивание текста, но изменить шрифт, кегль или интерлиньяж не получится.

Весь этот разворот — рабочий пример. Попробуйте выделить текст или код

Sometimes, layout designer controls the volume of text by limiting the length of subheads, quotes, sidebars, and other special elements. But often text is given as is, and layout designer works only with its shape.

Буквица, первая строка и выделение

Для управления первой буквой, первой строкой и выделением текста используют псевдоэлементы — «виртуальные» кусочки текста, которые можно использовать в ЦСС, не добавляя лишнюю разметку. Первой букве текста соответствует псевдоэлемент :first-letter, первой строке — :first-line, выделению — ::selection

Стилизация выделения не работает на тач‑устройствах.

h1 + p:first-letter {
  float: left; /* Настраиваем буквицу: задаём обтекание текстом */
  font-size: 2.7em; /* Увеличиваем кегль */
  line-height: .25em; /* Уменьшаем интерлиньяж, чтобы он не взрывал интерлиньяж абзаца */
  margin-top: .37em; /* Двигаем ближе к тексту, чтобы занять ровно 2 строки */
}

::selection {
  background: #02aff0; /* Меняем цвет и фон выделенного текста */
  color: #fff;
}

code ::selection {
  background: #000;
  color: #31ff53;
  text-shadow: -1px 1px #0043ff;
}

Интересный момент: псевдоэлементы ограничены здравым смыслом в свойствах, которые можно в них поменять.

Например, в ::selection можно менять цвет, фон, тень и подчёркивание‑зачёркивание текста, но изменить шрифт, кегль или интерлиньяж не получится.

Подчёркивание, зачёркивание и надчёркивание

Допол­ни­тельно офор­мить текст под­чёр­ки­ва­нием, зачёр­ки­ва­нием или над­чёр­ки­ва­нием можно с помо­щью text-decoration или border-bottom. Кроме того, в Хроме можно задать вид, стиль и цвет исполь­зу­е­мой линии:

/* Убираем подчёркивание у ссылок в шапке */
header a {
  text-decoration: none;
}

/* Подчёркиваем важные моменты (em от emphasis) в статье.
   Старые версии браузеров покажут чёрное подчёркивание */
em {
  text-decoration: underline;
  
  /* Новые браузеры покажут жёлтое подчёркивание
     толщиной в 5 пикселей */
  text-decoration-line: underline;
  text-decoration-color: yellow;
  text-decoration-thickness: 5px;
}

/* Зачёркиваем удалённые кусочки (del от deleted) статьи */
del {
  text-decoration: line-through;
}

Обра­тите вни­ма­ние на при­мер с text-decoration: underline. Бра­у­зеры и ЦСС посто­янно раз­ви­ва­ются: появ­ля­ются новые свой­ства, услож­ня­ются ста­рые. Новые вер­сии бра­у­зе­ров под­дер­жи­вают рас­ши­рен­ный син­так­сис text-decoration с ука­за­нием тол­щины, цвета и стиля линий, а ста­рые бра­у­зеры — нет. Поэтому чтобы под­чёр­ки­ва­ние рабо­тало во всех бра­у­зе­рах, мы сна­чала ука­зы­ваем ста­рый син­так­сис, как несго­ра­е­мый вари­ант, а ниже — новый: если бра­у­зер не пой­мёт новый син­так­сис, он исполь­зует преды­ду­щий вариант.

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 height size.

Иногда подчёркивание ссылок задают с помощью border или box‑shadow. Чтобы убрать такое подчёркивание, используют border: none или box‑shadow: none

Подчёркивание, зачёркивание и надчёркивание

Дополнительно оформить текст подчёркиванием, зачёркиванием или надчёркиванием можно с помощью text-decoration или border-bottom. Кроме того, в Хроме можно задать вид, стиль и цвет используемой линии:

/* Убираем подчёркивание у ссылок в шапке */
header a {
  text-decoration: none;
}

/* Подчёркиваем важные моменты (em от emphasis) в статье.
   Старые версии браузеров покажут чёрное подчёркивание */
em {
  text-decoration: underline;
  
  /* Новые браузеры покажут жёлтое подчёркивание
     толщиной в 5 пикселей */
  text-decoration-line: underline;
  text-decoration-color: yellow;
  text-decoration-thickness: 5px;
}

/* Зачёркиваем удалённые кусочки (del от deleted) статьи */
del {
  text-decoration: line-through;
}

Обратите внимание на пример с text-decoration: underline. Браузеры и ЦСС постоянно развиваются: появляются новые свойства, усложняются старые. Новые версии браузеров поддерживают расширенный синтаксис text-decoration с указанием толщины, цвета и стиля линий, а старые браузеры — нет. Поэтому чтобы подчёркивание работало во всех браузерах, мы сначала указываем старый синтаксис, как несгораемый вариант, а ниже — новый: если браузер не поймёт новый синтаксис, он использует предыдущий вариант.

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 height size.

Иногда подчёркивание ссылок задают с помощью border или box‑shadow. Чтобы убрать такое подчёркивание, используют border: none или box‑shadow: none

Не совсем корректный ЦСС

Раз­ные вер­сии бра­у­зе­ров под­дер­жи­вают раз­ные наборы ЦСС‑фич и свойств. Ска­жем, Хром уже под­дер­жи­вает вырав­ни­ва­ние послед­ней строки тек­ста с помо­щью text-align-last, а Сафари — пока нет. Если мы напи­шем text-align-last: right, то в Сафари ничего не изме­нится: бра­у­зер про­игно­ри­рует свой­ство, кото­рое пока не поддерживает.

Если в хотя бы одном из зна­че­ний состав­ного свой­ства будет опе­чатка или ошибка, бра­у­зер не смо­жет при­ме­нить свой­ство цели­ком. Если напи­сать border: 1px solid loud, бра­у­зер не доба­вит рамку эле­менту. Веб‑инспек­тор при этом пока­жет свой­ство зачёркнутым.

Сафари пока не поддерживает краткую запись для text‑decoration‑line, text‑decoration‑color и text‑decoration‑thickness. Поэтому в нём элемент останется без подчёркивания

В падинге опечатка: pixels вместо px. Элемент останется без отступов

Большинство свойств одинаково поддерживаются в современных браузерах, но встречаются исключения. Если хотите использовать новое для себя свойство, проверьте его поддержку в базе данных фич и особенностей браузеров:

Не совсем корректный ЦСС

Разные версии браузеров поддерживают разные наборы ЦСС‑фич и свойств. Скажем, Хром уже поддерживает выравнивание последней строки текста с помощью text-align-last, а Сафари — пока нет. Если мы напишем text-align-last: right, то в Сафари ничего не изменится: браузер проигнорирует свойство, которое пока не поддерживает.

Если в хотя бы одном из значений составного свойства будет опечатка или ошибка, браузер не сможет применить свойство целиком. Если написать border: 1px solid loud, браузер не добавит рамку элементу. Веб‑инспектор при этом покажет свойство зачёркнутым.

Сафари пока не поддерживает краткую запись для text‑decoration‑line, text‑decoration‑color и text‑decoration‑thickness. Поэтому в нём элемент останется без подчёркивания

В падинге опечатка: pixels вместо px. Элемент останется без отступов

Большинство свойств одинаково поддерживаются в современных браузерах, но встречаются исключения. Если хотите использовать новое для себя свойство, проверьте его поддержку в базе данных фич и особенностей браузеров:

Коворкафе

Радуга

Стерео

Тень

Чтобы доба­вить тень к тек­сту, исполь­зуют свой­ство text-shadow. Чтобы задать тень, ука­зы­вают её сме­ще­ние по гори­зон­тали и вер­ти­кали, радиус раз­мы­тия и цвет. Самое инте­рес­ное — можно разом задать несколько теней:

.neon {
  color: tomato;
  /* Задаём тень-свечение: с каждым шагом меняется
     радиус и цвет тени */
  text-shadow: 
    0 0 10px orangered,
    0 0 20px firebrick,
    0 0 40px maroon,
    0 0 80px darkred;
}

.rainbow {
  color: #fff;
  /* Задаём тень-радугу: с каждым шагом меняется
     цвет и смещение влево-вниз */
  text-shadow: -4px 4px #ef3550,
    -8px 8px #f48fb1,
    -12px 12px #7e57c2,
    -16px 16px #2196f3,
    -20px 20px #26c6da,
    -24px 24px #43a047,
    -28px 28px #eeff41,
    -32px 32px #f9a825,
    -36px 36px #ff5722;
}

.3d {
  color: #fff;
  /* Задаём 3д-тень: красную и синюю тени
     без размытия смещаем влево и вправо */
  text-shadow: -.06em 0 red,
    .06em 0 cyan;
}

Коворкафе

Радуга

Стерео

Тень

Чтобы добавить тень к тексту, используют свойство text-shadow. Чтобы задать тень, указывают её смещение по горизонтали и вертикали, радиус размытия и цвет. Самое интересное — можно разом задать несколько теней:

.neon {
  color: tomato;
  /* Задаём тень-свечение: с каждым шагом меняется
     радиус и цвет тени */
  text-shadow: 
    0 0 10px orangered,
    0 0 20px firebrick,
    0 0 40px maroon,
    0 0 80px darkred;
}

.rainbow {
  color: #fff;
  /* Задаём тень-радугу: с каждым шагом меняется
     цвет и смещение влево-вниз */
  text-shadow: -4px 4px #ef3550,
    -8px 8px #f48fb1,
    -12px 12px #7e57c2,
    -16px 16px #2196f3,
    -20px 20px #26c6da,
    -24px 24px #43a047,
    -28px 28px #eeff41,
    -32px 32px #f9a825,
    -36px 36px #ff5722;
}

.3d {
  color: #fff;
  /* Задаём 3д-тень: красную и синюю тени
     без размытия смещаем влево и вправо */
  text-shadow: -.06em 0 red,
    .06em 0 cyan;
}
Скрыто 135 разворотов