<MyRusakov.ru />

Создание нейросетей на Python

Создание нейросетей на Python

Этот курс научит Вас созданию нейросетей на Python. Курс рассчитан на начинающих. Вся информация идёт от простого к сложному очень маленькими шажками. При этом глубокое знание математики не требуется. Поскольку в курсе Вы будете получать эти знания по мере необходимости.

Из курса Вы узнаете всю необходимую теорию и терминологию. Научитесь создавать нейросети самых разных архитектур и обучать их. Также Вы создадите собственный фреймворк. Что очень важно проделать для грамотного использования того же PyTorch. Затем Вы изучите и сам PyTorch.

Помимо уроков к курсу идут упражнения для закрепления материала.

Ещё Вы получите Бонусы, дополняющие основной курс: "Распознавание изображений", "Анализ настроения по тексту отзыва", "Программирование на Python с Нуля до Гуру".

Подробнее
Подписка

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

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Таблицы в HTML: понятное руководство для начинающих с примерами и адаптивными паттернами

Таблицы в HTML: понятное руководство для начинающих с примерами и адаптивными паттернами

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

Когда действительно нужны таблицы в HTML

  • Да — для данных в пересечении строк и столбцов: прайсы, отчёты, расписания, сравнительные таблицы.
  • Нет — для вёрстки макета страницы. Для этого используйте Flexbox или CSS Grid.

Базовая структура таблицы

Минимальный набор для корректной и доступной таблицы: <table>, строка <tr>, ячейки <th> (заголовки) и <td> (данные). Рекомендуется добавлять <caption> (подпись), а также секции <thead>, <tbody>, <tfoot> — они улучшают понимание разметки браузерами, технологиями доступности и упрощают стилизацию.

<table>
  <caption>Расходы по месяцам, 2025</caption>
  <thead>
    <tr>
      <th scope="col">Месяц</th>
      <th scope="col">Продукты</th>
      <th scope="col">Транспорт</th>
      <th scope="col">Итого</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Январь</th>
      <td>12000</td>
      <td>3500</td>
      <td>15500</td>
    </tr>
    <tr>
      <th scope="row">Февраль</th>
      <td>11500</td>
      <td>3800</td>
      <td>15300</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <th scope="row" colspan="3">Всего</th>
      <td>30800</td>
    </tr>
  </tfoot>
</table>

Атрибут scope помогает технологиям доступности понимать, к чему относится заголовок: scope="col" — к столбцу, scope="row" — к строке.

Объединение ячеек и сложные заголовки

Используйте colspan и rowspan, чтобы объединять ячейки. Для сложных таблиц с многоуровневыми заголовками применяйте id у <th> и атрибут headers у <td> — так скринридер сможет связать каждую ячейку с соответствующими заголовками.

<table>
  <caption>Продажи по товарам (шт.)</caption>
  <thead>
    <tr>
      <th id="h-prod">Товар</th>
      <th id="h-jan">Янв</th>
      <th id="h-feb">Фев</th>
      <th id="h-q1" colspan="2">Итоги Q1</th>
    </tr>
    <tr>
      <th id="h-q1-min">Мин</th>
      <th id="h-q1-max">Макс</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th id="r-milk" scope="row">Молоко</th>
      <td headers="r-milk h-jan">120</td>
      <td headers="r-milk h-feb">110</td>
      <td headers="r-milk h-q1 h-q1-min">110</td>
      <td headers="r-milk h-q1 h-q1-max">130</td>
    </tr>
  </tbody>
</table>

Такой подход помогает и людям, и машинам (скринридеры, парсеры) корректно интерпретировать данные.

Быстрая стилизация: зебра, липкая шапка, аккуратные границы

/* Базовые стили */
table { width: 100%; border-collapse: collapse; }
th, td { padding: 8px 12px; border: 1px solid #ddd; text-align: left; }
caption { caption-side: top; text-align: left; font-weight: 600; margin-bottom: 8px; }

/* Зебра */
tbody tr:nth-child(odd) { background: #fafafa; }

/* Липкая шапка (поддерживается большинством современных браузеров) */
thead th { position: sticky; top: 0; background: #fff; z-index: 1; }

/* Числовые данные по правому краю */
td[data-num], th[data-num] { text-align: right; font-variant-numeric: tabular-nums; }

При липкой шапке не забывайте про контраст фона для <thead> и возможную тень — так заголовок не «слипнется» с контентом при прокрутке.

Адаптивные таблицы: два рабочих паттерна

1) Горизонтальная прокрутка (простой и надёжный способ)

<div class="table-wrap">
  <table>...ваша таблица...</table>
</div>

.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-wrap table { min-width: 600px; } /* при необходимости фиксируем минимальную ширину */

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

2) «Карточки» на мобильных (stacked table)

При небольших экранах каждую строку можно отображать блоком, а подписи колонок выводить через псевдоэлемент и атрибут data-label у ячеек.

<table class="stacked">
  <thead>
    <tr>
      <th>Месяц</th>
      <th>Продукты</th>
      <th>Транспорт</th>
      <th>Итого</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row" data-label="Месяц">Январь</th>
      <td data-label="Продукты">12000</td>
      <td data-label="Транспорт">3500</td>
      <td data-label="Итого" data-num>15500</td>
    </tr>
  </tbody>
</table>

/***** CSS *****/
@media (max-width: 640px) {
  .stacked thead { display: none; }
  .stacked, .stacked tbody, .stacked tr, .stacked th, .stacked td { display: block; width: 100%; }
  .stacked tr { margin: 0 0 12px; border: 1px solid #e5e5e5; border-radius: 8px; overflow: hidden; }
  .stacked th[scope="row"] { background: #f7f7f7; font-weight: 600; padding: 10px 12px; border-bottom: 1px solid #e5e5e5; }
  .stacked td { padding: 8px 12px; position: relative; }
  .stacked td::before { content: attr(data-label) ": "; color: #666; margin-right: 8px; }
  .stacked td[data-num] { text-align: right; }
}

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

Доступность: минимум, который стоит сделать всегда

  • Добавляйте <caption> — короткая и точная подпись помогает понять суть данных.
  • Используйте <th> для заголовков и атрибут scope для связи со строками/столбцами.
  • Для сложных таблиц применяйте id у заголовков и headers у ячеек данных.
  • Следите за контрастом текста и размером шрифта (не менее 14–16px).
  • Не кодируйте смысл цветом без дополнительного текста или иконки с aria-label/visually-hidden подписью.

Частые ошибки и как их избежать

  • Использование таблиц для макета. Решение: применяйте Flexbox/Grid для сеток, таблицы — только для данных.
  • Отсутствие <th> и <caption>. Решение: всегда размечайте заголовки и подпись, это повышает доступность и SEO контента с данными.
  • Выравнивание чисел по центру. Решение: выравнивайте числа по правому краю, используйте tabular-nums для ровных колонок цифр.
  • Жёсткие width/height атрибуты в HTML. Решение: контролируйте размеры через CSS и избегайте ломки в мобильной версии.
  • Переусложнение объединениями ячеек. Решение: если требуется много colspan/rowspan — подумайте, не лучше ли разбить данные на несколько таблиц или секций.

Мини‑чеклист перед сдачей задачи

  • Есть ли у таблицы понятная подпись в <caption>?
  • Проставлены ли <th> и правильный scope?
  • Доступна ли таблица с клавиатуры и читабельна ли на скринридере?
  • Как таблица ведёт себя на 320–375px ширины экрана? Выбран подходящий адаптивный паттерн?
  • Ровно ли выровнены числовые колонки?

Хотите системно прокачать навыки HTML и CSS (в том числе работу с таблицами, сетками и адаптивом)? Посмотрите программу и первые уроки: Прокачать HTML и вёрстку на курсе «Вёрстка сайта с нуля 2.0» — практические модули, задания и разборы помогут превратить теорию в уверенную практику.

Итоги

Таблицы в HTML остаются незаменимым инструментом для структурированных данных. Используйте семантическую разметку (<caption>, <thead>, <tbody>, <tfoot>, <th>), думайте о доступности (scope, headers), добавляйте аккуратную стилизацию и подбирайте адаптивный паттерн под задачу. Такой подход даёт читабельность, удобство и устойчивую верстку в реальных проектах.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (https://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: https://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

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