🔍 Начните печатать, чтобы искать по книге или перейти к нужной странице по номеру
Удобно листать не только прокруткой, но и клавишами‑стрелками:
Эта книга — пошаговая инструкция по вёрстке сайтов на языках ХТМЛ и ЦСС. Вы узнаете не только как сверстать сайт, но и как опубликовать его в интернете, настроить красивый шаринг в соцсети и подключить системы аналитики.
Отдельный раздел книги посвящён работе с верстальщиком: как ставить задачи, получать предсказуемый результат и правильно принимать и внедрять вёрстку.
Знакомство с ХТМЛ и ЦСС
Модули
Расстановка
Страницы
Спецэффекты
Контроль качества
Публикация
Как работать с верстальщиком
Эта книга — пошаговая инструкция по вёрстке сайтов на языках ХТМЛ и ЦСС. Вы узнаете не только как сверстать сайт, но и как опубликовать его в интернете, настроить красивый шаринг в соцсети и подключить системы аналитики.
Отдельный раздел книги посвящён работе с верстальщиком: как ставить задачи, получать предсказуемый результат и правильно принимать и внедрять вёрстку.
Знакомство с ХТМЛ и ЦСС
Модули
Расстановка
Страницы
Спецэффекты
Контроль качества
Публикация
Как работать с верстальщиком
Чтобы код было проще читать и понимать, имена классов делают наглядными.
В именах избегают случайных наборов букв, аббревиатур, сокращений и всего, что может как‑либо запутать.
Классы не принято называть по‑русски латиницей. Такие имена тяжело читать, а некоторые русские буквы можно написать латиницей по‑разному, что увеличивает вероятность ошибок.
/* Плохо */
.t { }
.txthl { }
.informaciya { }
.informacia { }
.informacija { }
/* Лучше */
.title { }
.highlight { }
.info { }
Если имя состоит из нескольких слов, лучше визуально их разделить. Два самых популярных стиля: разделять слова дефисами или заглавными буквами.
По именам с дефисами легче перемещаться с клавиатуры и выделять отдельные слова двойным кликом, а стиль с заглавными используется во многих языках программирования, он привычнее опытным разработчикам и гармоничнее смотрится рядом с кодом на других языках.
/* Каша, тяжело читать */
.pagetitle { }
.pageauthor { }
/* Структура, легко читать */
.page-title { }
.page-author { }
.pageTitle { }
.pageAuthor { }Стиль‑через‑дефис называют кебабом, потому что похоже на мясо на шампуре. А стильЧерезЗаглавные — кэмелом, потому что похоже на горбы верблюда.
Совет. Чтобы в текстовом редакторе перемещаться по отдельным словам в именах с дефисами, используйте Option или Alt со стрелками влево и вправо. Чтобы выделять слова, дополнительно зажимайте Shift
Чтобы код было проще читать и понимать, имена классов делают наглядными.
В именах избегают случайных наборов букв, аббревиатур, сокращений и всего, что может как‑либо запутать.
Классы не принято называть по‑русски латиницей. Такие имена тяжело читать, а некоторые русские буквы можно написать латиницей по‑разному, что увеличивает вероятность ошибок.
/* Плохо */
.t { }
.txthl { }
.informaciya { }
.informacia { }
.informacija { }
/* Лучше */
.title { }
.highlight { }
.info { }
Если имя состоит из нескольких слов, лучше визуально их разделить. Два самых популярных стиля: разделять слова дефисами или заглавными буквами.
По именам с дефисами легче перемещаться с клавиатуры и выделять отдельные слова двойным кликом, а стиль с заглавными используется во многих языках программирования, он привычнее опытным разработчикам и гармоничнее смотрится рядом с кодом на других языках.
/* Каша, тяжело читать */
.pagetitle { }
.pageauthor { }
/* Структура, легко читать */
.page-title { }
.page-author { }
.pageTitle { }
.pageAuthor { }Стиль‑через‑дефис называют кебабом, потому что похоже на мясо на шампуре. А стильЧерезЗаглавные — кэмелом, потому что похоже на горбы верблюда.
Совет. Чтобы в текстовом редакторе перемещаться по отдельным словам в именах с дефисами, используйте Option или Alt со стрелками влево и вправо. Чтобы выделять слова, дополнительно зажимайте Shift
Пока на странице мало элементов, удобно хранить стили в теге style. С ростом количества элементов и кода, работать с тегом style станет тяжелее: постоянно прокручивать от стилей к разметке и обратно, выискивать нужные кусочки кода, нагружать мозг.
Когда стилей много, удобнее вынести их в отдельный файл и работать с ним в отдельном окне редактора.
Файл со стилями имеет расширение .css. Обычно его называют style.css и кладут рядом с ХТМЛ‑страницей, это самый простой способ для небольших сайтов. Файл подключают к странице тегом link, все стили из подключённого файла применятся к странице.
Файл стилей можно подключить сразу к нескольким ХТМЛ‑страницам и управлять их стилями из одного места: поменяли отступы у абзацев в style.css, отступы поменялись на всех страницах.
В более сложных проектах бывает несколько файлов со стилями, расположенных где угодно, даже на другом сайте.
index.html
<!-- … -->
<head>
<title>Моя веб-страница</title>
<style>
body {
font-size: 16px;
line-height: 18px;
}
h1 {
font-size: 48px;
line-height: 52px;
font-family: Helvetica;
}
</style>
</head>
<!-- … -->
index.html
<!-- … -->
<head>
<title>Моя веб-страница</title>
<!-- Вместо style подключаем лежащий рядом файл -->
<link rel="stylesheet" href="style.css">
</head>
<!-- … -->
style.css
/* Стили, которые раньше были в теге style */
body {
font-size: 16px;
line-height: 18px;
}
h1 {
font-size: 48px;
line-height: 52px;
font-family: Helvetica;
}index.html
<!-- … -->
<head>
<title>Моя веб-страница</title>
<style>
body {
font-size: 16px;
line-height: 18px;
}
h1 {
font-size: 48px;
line-height: 52px;
font-family: Helvetica;
}
</style>
</head>
<!-- … -->
index.html
<!-- … -->
<head>
<title>Моя веб-страница</title>
<!-- Вместо style подключаем лежащий рядом файл -->
<link rel="stylesheet" href="style.css">
</head>
<!-- … -->
style.css
/* Стили, которые раньше были в теге style */
body {
font-size: 16px;
line-height: 18px;
}
h1 {
font-size: 48px;
line-height: 52px;
font-family: Helvetica;
}Пока на странице мало элементов, удобно хранить стили в теге style. С ростом количества элементов и кода, работать с тегом style станет тяжелее: постоянно прокручивать от стилей к разметке и обратно, выискивать нужные кусочки кода, нагружать мозг.
Когда стилей много, удобнее вынести их в отдельный файл и работать с ним в отдельном окне редактора.
Файл со стилями имеет расширение .css. Обычно его называют style.css и кладут рядом с ХТМЛ‑страницей, это самый простой способ для небольших сайтов. Файл подключают к странице тегом link, все стили из подключённого файла применятся к странице.
Файл стилей можно подключить сразу к нескольким ХТМЛ‑страницам и управлять их стилями из одного места: поменяли отступы у абзацев в style.css, отступы поменялись на всех страницах.
В более сложных проектах бывает несколько файлов со стилями, расположенных где угодно, даже на другом сайте.
Теги наследуют стили от родителей — тегов, внутри которых находятся. Наследование стилей позволяет писать меньше кода, избегать повторов стилей, последовательно стилизовать страницу от общего к частному.
Тег body — родитель для вложенных тегов заголовка и абзацев:
<body>
<h1>Джефф Раскин — Интерфейс</h1>
<p>…</p>
<p>…</p>
</body>
Если в ЦСС задать шрифт и цвет текста для body, вложенные теги унаследуют эти свойства:
body {
font-family: Arial;
color: red;
}
Унаследованные свойства можно переопределять:
body {
font-family: Arial;
color: red;
}
p {
color: blue;
}
Наследование. МДН
Теги наследуют стили от родителей — тегов, внутри которых находятся. Наследование стилей позволяет писать меньше кода, избегать повторов стилей, последовательно стилизовать страницу от общего к частному.
Тег body — родитель для вложенных тегов заголовка и абзацев:
<body>
<h1>Джефф Раскин — Интерфейс</h1>
<p>…</p>
<p>…</p>
</body>
Наследование. МДН
Если в ЦСС задать шрифт и цвет текста для body, вложенные теги унаследуют эти свойства:
body {
font-family: Arial;
color: red;
}
Унаследованные свойства можно переопределять:
body {
font-family: Arial;
color: red;
}
p {
color: blue;
}
Если с элементом связаны несколько наборов стилей, они дополнят друг друга. Эта особенность помогает меньше повторяться в коде, писать универсальные классы и использовать их в разных местах страницы.
Например, чтобы сверстать вынос, не нужно дублировать стили абзаца в отдельном классе. Достаточно указать только особенности выноса — увеличенный кегль и цвет.
<p>…</p>
<p class="liftOut">…</p>
p {
font-family: Helvetica, sans-serif;
}
.liftOut {
font-size: 125%;
color: red;
}
Если с элементом связаны несколько наборов стилей, они дополнят друг друга. Эта особенность помогает меньше повторяться в коде, писать универсальные классы и использовать их в разных местах страницы.
Например, чтобы сверстать вынос, не нужно дублировать стили абзаца в отдельном классе. Достаточно указать только особенности выноса — увеличенный кегль и цвет.
<p>…</p>
<p class="liftOut">…</p>
p {
font-family: Helvetica, sans-serif;
}
.liftOut {
font-size: 125%;
color: red;
}
Иногда к элементу относятся несколько наборов стилей, в которых есть одинаковые свойства. В этом случае браузер сравнит «важность» стилей и применит свойство из более важных стилей.
Браузер определяет важность по множеству условий, но на старте достаточно запомнить два главных правила.
Чем ниже стили написаны в коде, тем они важнее при прочих равных:
<p>…</p>
p {
color: red;
}
/*
Написанные ниже стили абзаца
перебьют написанные выше
*/
p {
color: blue;
}
Стили для классов важнее стилей для тегов:
<p class="large">…</p>
/*
Цвет из класса перебьёт цвет из тега,
даже если те стоят ниже в коде
*/
.large {
color: crimson;
}
p {
color: blue;
}
Конфликты и наслоение стилей часто вызывают проблемы у начинающих разработчиков. Например, можно написать стили для элемента, а потом забыть и дописать другие стили для этого же элемента ниже в коде. Начнутся конфликты, элемент будет выглядеть непредсказуемо.
Если элемент вдруг выглядит не так, как он описан в стилях, — первым делом убедитесь, что к нему не применяются какие‑нибудь дополнительные стили из других мест. Это можно легко сделать при помощи веб‑инспектора, мы изучим его в следующих главах.
Важность свойств на языке разработчиков называется специфичностью.
Специфичность. МДН
Иногда к элементу относятся несколько наборов стилей, в которых есть одинаковые свойства. В этом случае браузер сравнит «важность» стилей и применит свойство из более важных стилей.
Браузер определяет важность по множеству условий, но на старте достаточно запомнить два главных правила.
Чем ниже стили написаны в коде, тем они важнее при прочих равных:
<p>…</p>
p {
color: red;
}
/*
Написанные ниже стили абзаца
перебьют написанные выше
*/
p {
color: blue;
}
Стили для классов важнее стилей для тегов:
<p class="large">…</p>
/*
Цвет из класса перебьёт цвет из тега,
даже если те стоят ниже в коде
*/
.large {
color: crimson;
}
p {
color: blue;
}
Конфликты и наслоение стилей часто вызывают проблемы у начинающих разработчиков. Например, можно написать стили для элемента, а потом забыть и дописать другие стили для этого же элемента ниже в коде. Начнутся конфликты, элемент будет выглядеть непредсказуемо.
Если элемент вдруг выглядит не так, как он описан в стилях, — первым делом убедитесь, что к нему не применяются какие‑нибудь дополнительные стили из других мест. Это можно легко сделать при помощи веб‑инспектора, мы изучим его в следующих главах.