📜 Старый подход
В ранних версиях веба часто пытались «собрать» страницу вручную: таблицы использовали для макета, стили писали прямо в атрибутах (<font>, align, bgcolor), а смысл элементов терялся. Визуально результат был приемлемым, но за ним прятался «нечитаемый» код.
Файл: subjects/html-css/course/lessons/01-history-html-css/old-vs-new.html
| Заголовок |
<!-- Старый стиль: структура и оформление вперемешку -->
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td align="center" style="background:#f5f8ff; padding:24px;">
<font color="#1f3b73" size="5">Заголовок</font>
</td>
</tr>
</table>
Такой код трудно поддерживать: смысл страницы скрыт за презентационными деталями, тег <table> здесь не означает «таблицу данных», а повторное использование почти невозможно.
❌ Почему это больше не подходит
- Таблица не описывает смысл контента, а только внешнюю сетку.
- Inline-стили приходится править в каждом фрагменте отдельно.
- Если захотеть сменить дизайн, код нужно переписывать вручную.
- Такой подход мешает доступности и семантике.
✅ Современный подход
Семантическая HTML-разметка описывает смысл, а CSS отвечает за внешний вид и адаптацию. Визуально результат тот же, но код чище.
Файл: subjects/html-css/course/lessons/01-history-html-css/old-vs-new.html
Заголовок
Короткое описание страницы.
<!-- Современный подход: смысл отдельно, стиль отдельно -->
<header class="hero">
<h1>Заголовок</h1>
<p>Короткое описание страницы.</p>
</header>
Файл: subjects/html-css/course/lessons/01-history-html-css/style.css
/* style.css */
.hero {
background: #f5f8ff;
border: 1px solid #c7d5ff;
padding: 24px;
border-radius: 12px;
}
h1 { color: #1f3b73; }
- HTML читается как структура документа.
- CSS можно менять без переписывания контента.
- Один и тот же блок проще переиспользовать в других страницах.
🕰️ Когда старый подход ещё можно встретить
Legacy-код, старые шаблоны CMS и очень старые учебные примеры могут содержать table-layout, inline-style и устаревшие теги вроде <font>. Для поддержки такого кода полезно понимать, как он устроен, но для новых страниц так делать не стоит.