- HTML таблицы продвинутые возможности и доступность
- Добавление заголовка к таблице с помощью
- Упражнение: Добавление заголовка
- Добавление структуры с помощью , и
- Упражнение: Добавление структуры таблицы
- HTML Table Headers
- HTML Table Headers
- Example
- Vertical Table Headers
- Example
- Align Table Headers
- Example
- Header for Multiple Columns
- Example
- Table Caption
- Example
- HTML Exercises
- COLOR PICKER
- Report Error
- Thank You For Helping Us!
- HTML таблицы
- Таблица с шапкой и подвалом
- Объединение ячеек по горизонтали
- Объединение ячеек по вертикали
- Видео к уроку
HTML таблицы продвинутые возможности и доступность
Во второй статье этого модуля мы рассматриваем ещё несколько продвинутых возможностей в HTML таблицах — такие как заголовок/описание и группировка строк внутри head, body и footer секциях таблицы, а также доступность таблиц для пользователей с ограниченными возможностями.
Необходимые знания: | Базовый HTML (Введение в HTML). |
---|---|
Цель: | Изучить более продвинутые возможности HTML таблиц и их доступность. |
Добавление заголовка к таблице с помощью
table> caption>Dinosaurs in the Jurassic periodcaption> . table>
Как можно понять из короткого примера выше, заголовок отражает в себе описание контента таблицы. Это полезно для всех читателей просматривающих страницу и желающих получить краткое представление от том полезна ли для них таблица, что особенно важно для слепых пользователей. Вместо того чтобы читать содержимое множества ячеек чтобы понять о чем таблица, он или она могут полагаться на заголовок и принимать решение читать ли таблицу более подробно.
Упражнение: Добавление заголовка
Давайте попробуем это, вернёмся к примеру который мы ранее встретили в прошлой статье.
- Откройте расписание занятий школьного учителя по языку в конце статьи HTML таблицы основы, или сделайте копию нашего timetable-fixed.html файла.
- Добавьте подходящий заголовок к таблице.
- Сохраните свой код и откройте его в браузере, чтобы посмотреть как это выглядит.
Примечание: Этот пример можно найти на GitHub по ссылке timetable-caption.html (живой пример).
Добавление структуры с помощью , и
Когда таблицы становятся более сложными по структуре полезно дать им более структурированное определение. Отличный способ сделать это используя (en-US), и (en-US), которые позволяют вам разметить header, footer и body секции таблицы.
Эти элементы не создают дополнительной доступности для пользователей со скринридерами и не приводят к какому-то визуальному улучшению при их использовании. Зато они очень полезны при стилизации и разметке, как точки для добавления CSS к вашей таблице. Вот несколько интересных примеров, в случае длинной таблицы вы можете сделать header и footer таблицы повторяемый на каждой печатной странице, или вы можете сделать body таблицы отображаемое на одной странице и иметь доступ ко всему содержимому контенту прокручивая вверх и вниз.
- Элементом нужно обернуть часть таблицы которая относится к заголовку — обычно это первая строка содержащая заголовки колонок, но это не обязательно всегда такой случай. Если вы используете / (en-US) элемент, тогда заголовок должен находиться ниже его.
- Элементом нужно обернуть ту часть, которая относится к footer таблицы — например, это может быть последняя строка в которой отражаются суммы по столбцам таблицы. Вы можете включить сюда footer таблицы, как и следовало ожидать, или чуть ниже заголовка таблицы (браузер всё равно отобразит его внизу таблицы).
- Элементом необходимо обернуть остальную часть содержимого таблицы которая не находится в header или footer таблицы. Этот блок располагают ниже заголовка таблицы или иногда footer таблицы, зависит от того какую структуру вы решите использовать (читать выше по тексту).
Примечание: всегда включён в каждой таблице, неявно если не укажете его в коде. Проверьте это, открыв один из предыдущих примеров в котором не используется и посмотрите HTML код в browser developer tools — вы увидите, что браузер добавил этот тег самостоятельно. Вы могли бы задаться вопросом почему мы должны волноваться о его включении, но вы должны, потому что это даёт больше контроля над структурой таблицы и стилем.
Упражнение: Добавление структуры таблицы
Давайте используем эти новые элементы.
- В первую очередь, сделайте копию spending-record.html и minimal-table.css в новой папке.
- Попробуйте открыть это в браузере — вы увидите, что все выглядит классно, но могло бы быть лучше. Строка «SUM» которая содержит потраченные суммы кажется находится не в том месте и некоторые детали отсутствуют в коде.
- Поместите очевидную строку заголовка внутрь элемента, строку «SUM» внутрь элемента и оставшийся контент внутрь элемента.
- Сохраните, перезагрузите и вы увидите, что добавление элемента привело к тому, что строка «SUM» опустилась к нижней части таблицы.
- Далее, добавьте атрибут colspan , чтобы ячейка «SUM» занимала первые четыре столбца, таким образом числовое значение «Cost» появится в последнем столбце.
- Давайте добавим несколько простых дополнительных стилей к таблице, чтобы дать вам представление насколько эти элементы полезны при использовании CSS. Внутри в вашего HTML документа вы увидите пустой элемент . Внутри этого элемента добавьте следующие строки CSS кода:
tbody font-size: 90%; font-style: italic; > tfoot font-weight: bold; >
Примечание: Мы не ожидаем что сейчас вы полностью поймёте CSS. Вы узнаете больше когда пройдёте наши CSS курсы (например, Вступление в CSS это хорошее место для начала; у нас также есть статья конкретно о стилизации таблиц).
Ваша готовая таблица должна выглядеть примерно так:
DOCTYPE html> html> head> meta charset="utf-8"> title>My spending recordtitle> style> html font-family: sans-serif; > table border-collapse: collapse; border: 2px solid rgb(200,200,200); letter-spacing: 1px; font-size: 0.8rem; > td, th border: 1px solid rgb(190,190,190); padding: 10px 20px; > th background-color: rgb(235,235,235); > td text-align: center; > tr:nth-child(even) td background-color: rgb(250,250,250); > tr:nth-child(odd) td background-color: rgb(245,245,245); > caption padding: 10px; > tbody font-size: 90%; font-style: italic; > tfoot font-weight: bold; > style> head> body> table> caption>How I chose to spend my moneycaption> thead> tr> th>Purchaseth> th>Locationth> th>Dateth> th>Evaluationth> th>Cost (€)th> tr> thead> tfoot> tr> td colspan="4">SUMtd> td>118td> tr> tfoot> tbody> tr> td>Haircuttd> td>Hairdressertd> td>12/09td> td>Great ideatd> td>30td> tr> tr> td>Lasagnatd> td>Restauranttd> td>12/09td> td>Regretstd> td>18td> tr> tr> td>Shoestd> td>Shoeshoptd> td>13/09td> td>Big regretstd> td>65td> tr> tr> td>Toothpastetd> td>Supermarkettd> td>13/09td> td>Goodtd> td>5td> tr> tbody> table> body> html>
Примечание: Этот пример можно также найти на GitHub по ссылке spending-record-finished.html (живой пример).
HTML Table Headers
HTML tables can have headers for each column or row, or for many columns/rows.
EMIL | TOBIAS | LINUS |
---|
8:00 |
---|
9:00 |
10:00 |
11:00 |
12:00 |
13:00 |
MON | TUE | WED | THU | FRI |
---|---|---|---|---|
8:00 | ||||
9:00 | ||||
10:00 | ||||
11:00 | ||||
12:00 |
DECEMBER |
---|
HTML Table Headers
Table headers are defined with th elements. Each th element represents a table cell.
Example
Vertical Table Headers
To use the first column as table headers, define the first cell in each row as a element:
Example
Align Table Headers
By default, table headers are bold and centered:
Firstname | Lastname | Age |
---|---|---|
Jill | Smith | 50 |
Eve | Jackson | 94 |
To left-align the table headers, use the CSS text-align property:
Example
Header for Multiple Columns
You can have a header that spans over two or more columns.
Name | Age | |
---|---|---|
Jill | Smith | 50 |
Eve | Jackson | 94 |
To do this, use the colspan attribute on the element:
Example
You will learn more about colspan and rowspan in the Table colspan & rowspan chapter.
Table Caption
You can add a caption that serves as a heading for the entire table.
Month | Savings |
---|---|
January | $100 |
February | $50 |
To add a caption to a table, use the tag:
Example
HTML Exercises
COLOR PICKER
Report Error
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
Thank You For Helping Us!
Your message has been sent to W3Schools.
Top Tutorials
Top References
Top Examples
Get Certified
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.
HTML таблицы
Данная таблица содержит три строки, в каждой строке по три ячейки. В браузере она отобразится так:
По умолчанию таблица в браузере отображается без границ и отступов. Эти свойства прописываются через CSS.
Таблица с шапкой и подвалом
Вы можете сделать в таблице шапку и подвал, для этого используйте такую конструкцию:
Ячейка в шапке таблицы | Ячейка в шапке таблицы | Ячейка в шапке таблицы | Ячейка в подвале таблицы | Ячейка в подвале таблицы | Ячейка в подвале таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы |
---|
Шапка таблицы лежит в контейнере thead , ячейки в шапке прописываются с помощью тега
. По умолчанию текст в ячейках шапки таблицы расположен по центру и выделен жирным шрифтом.
Подвал таблицы лежит в контейнере tfoot . Несмотря на то, что подвал в коде идет сразу после шапки, браузер отобразит его в самом низу таблицы, т.е. после контейнера tbody .
Основное содержимое таблицы принято прописывать в контейнере tbody .
Объединение ячеек по горизонтали
Для того, чтобы объединить несколько ячеек в строке таблицы необходим атрибут colspan . Допустим в нашей таблице мы хотим объединить две ячейки в шапке, для этого для первой ячейки записываем атрибут colspan со значением два: , и удаляем ячейку, идущую после этой:
Ячейка в шапке таблицы | Ячейка в шапке таблицы | Ячейка в подвале таблицы | Ячейка в подвале таблицы | Ячейка в подвале таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы |
---|
Объединение ячеек по вертикали
Чтобы объединить ячейки по вертикали, используется атрибут rowspan . Допустим в теле таблицы нам нужно объединить первую ячейку первой строки с первой ячейкой второй строки, для этого для первой ячейки в первой строке нужно записать , и удалить первую ячейку во второй строке:
Ячейка в шапке таблицы | Ячейка в шапке таблицы | Ячейка в шапке таблицы | Ячейка в подвале таблицы | Ячейка в подвале таблицы | Ячейка в подвале таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы | Ячейка таблицы |
---|