html таблицы пример кода
Таблицы
Благодаря универсальности таблиц, большому числу параметров, управляющих их видом, таблицы надолго стали определенным стандартом для верстки веб-страниц. Таблица с невидимой границей представляет собой словно модульную сетку, в блоках которой удобно размещать элементы веб-страницы. Тем не менее, это не совсем правильный подход, ведь каждый объект HTML определен для своих собственных целей и если он используется не по назначению, причем повсеместно, это значит, что альтернатив нет. Так оно и было долгое время, пока на смену таблицам при верстке сайтов не пришли слои. Это не значит, что слои теперь используются сплошь и рядом, но тенденция уже наметилась четко — таблицы применяются для размещения табличных данных, а слои — для верстки и оформления.
Создание таблицы
Таблица состоит из строк и столбцов ячеек, которые могут содержать текст и рисунки. Обычно таблицы используются для упорядочения и представления данных, однако возможности таблиц этим не ограничиваются. C помощью таблиц удобно верстать макеты страниц, расположив нужным образом фрагменты текста и изображений.
Для добавления таблицы на веб-страницу используется тег
. Таблица должна содержать хотя бы одну ячейку (пример 12.1). Допускается вместо тега | использовать тег | . Текст в ячейке, оформленной с помощью тега | , отображается браузером шрифтом жирного начертания и выравнивается по центру ячейки. В остальном, разницы между ячейками, созданными через теги | и | нет. Пример 12.1. Создание таблицы Порядок расположения ячеек и их вид показан на рис. 12.1. Рис. 12.1. Результат создания таблицы с четырьмя ячейками 1.7. HTML-таблицыHTML-таблицы упорядочивают и выводят на экран данные с помощью строк или столбцов. Таблицы состоят из ячеек, образующихся при пересечении строк и столбцов. Ячейки таблиц могут содержать любые HTML-элементы, такие как заголовки, списки, текст, изображения, элементы форм, а также другие таблицы. Каждой таблице можно добавить связанный с ней заголовок, расположив его перед таблицей или после неё. Таблицы больше не используются для вёрстки веб-страниц и компоновки отдельных элементов, потому что такой приём не обеспечивает гибкость структуры и адаптивность сайта, существенно увеличивая HTML-разметку. Для всех элементов таблицы доступны глобальные атрибуты, а также собственные атрибуты. Создание таблиц в HTML1. Как создать таблицуНапример, с помощью данной разметки можно создать таблицу, состоящую из двух столбцов и двух строк:
Фигура 1. Внешний вид таблицы без форматирования css-свойствами По умолчанию таблица и ячейки не имеют видимых границ. Границы задаются с помощью свойства border : Промежутки между ячейками таблицы убираются с помощью свойства table Ширина таблицы по умолчанию равна ширине её внутреннего содержимого. Чтобы установить ширину, нужно задать значение для свойства width : Если заданы ширина и границы ячеек, то ширина таблицы будет складываться из ширины ячеек плюс ширина border-left и ширина border-right последней ячейки в ряду. 2. Как создать строки (ряды) таблицы3. Как сделать ячейку заголовка столбца таблицы4. Как сделать ячейку тела таблицы5. Как добавить подпись (заголовок) к таблицеЭлемент создает подпись таблицы. Добавляется непосредственно после тега
Теги, используемые для построения таблицы в html В браузере отобразится
Назначение таблиц в htmlСвойства и параметры html таблиц: отступ, ширина, цвет фона, граница (рамка)У тега table есть следующие атрибуты: Рассмотрим применения данных атрибутов на примере. Для этого создадим таблицу (но уже без крайне редко применяемых тегов caption и th) и зададим параметр атрибуту border (граница), width (ширина таблицы, строки или ячейки) и bgcolor (цвет ячейки) Рассмотрим пример кода
Теперь попробуем создать красивую таблицу. Для этого давайте начнём использовать выравнивание в таблице. Для этого есть следующие уже знакомые параметры: В браузере отобразится выравненная по центру таблица следующего вида Строки tr и ячейки td в таблицах HTMLСнова напомню о том, что таблицы формируются построчно (tr). В строках (tr) уже находятся ячейки (td). Если задавать параметр для строки (tr), то он будет действителен для всех ячеек (td) в этой строке, если для конкретной ячейки, то только для неё. В примерах выше я указывал цвет для строки, этот параметр распространялся соответственно для всех ячеек. Для тегов tr и td есть следующие Рассмотрим код, где содержимое ячеек (td), выравнено по разным краям: в первой по левому, во второй по правому: Результат С помощью таблиц можно сверстать очень даже неплохую страницу. Не забывайте, что в ячейки можно вставлять не только текст, но и изображения, ссылки и прочее!) Спасибо за внимание! Надеюсь материал был полезен! Друзья! На этой странице Вас ждёт полный практический курс по изучению таблиц. Посмотрите его, и создание таблиц больше не будет для Вас проблемой. На самом деле их создавать очень легко. Раньше HTML таблицы использовались для вёрстки сайтов. Она так и называлась – табличная вёрстка. Потом на смену ей пришла вёрстка дивами (при помощи тегов div ) которая оказалась намного удобнее и проще. А сейчас наступает эра вёрстки сайтов по технологии flexbox, которая призвана еще больше упростить жизнь web-мастерам. Однако, несмотря на всё выше сказанное, таблицы в html по-прежнему современны, актуальны и вовсю используются на сайтах. Правда уже не как структура, а как элемент статей сайта. Создание таблиц в html примерыСоздание простой HTML табличкиПрежде всего нам необходимо указать тег table. Это парный тег, который указывает браузеру, что именно в нём будет располагаться вся HTML таблица. Но использование одного этого тега мало, ведь таблицу ещё надо наполнить. И там тоже есть свои правила, которые надо неукоснительно соблюдать. Как вы знаете, в каждой таблице есть свои строки и колонки, которые на пересечении формируют ячейки. Однако в HTML – таблицы строятся немного по другому принципу. Изначально мы задаём им строки, а внутри строк задаём ячейки. И именно от количества ячеек в строке и будет завесить количество столбцов. Давайте попробуем сделать таблицу в html в блокноте. Создание строк и ячеекСтроки задаются при помощи тегов tr. И внутри строк мы задаём ячейки тегами td. А сейчас мы по-быстрому забабахаем простую таблицу, с одной строкой и четырьмя ячейками. Вот её код: Как видите, у нас получилась простая таблица, с одной строкой и четырьмя ячейками, которые автоматически преобразуются в 4 столбца.
А сейчас я предлагаю немного её усложнить, и добавить ещё три строки! Выглядеть она у нас будет вот так:
Кода получилось довольно много, однако оно того стоило! Думаю, теперь вам ясно, как работает создание таблиц в HTML. Однако это далеко не всё, мы ещё с вами только начали и дальше нас ждёт еще много интересного Давайте мы немного модернизируем табличку и добавим ей небольшое название. Это делается при помощи тега caption. Этот тег надо размещать самым первым, сразу после открывающего тега table. Вот как это выглядит в коде: А вот, что у нас получится в итоге:
Как видите, несмотря на то, что мы разместили тег caption внутри таблицы. Он располагается над ней. Для закрепления материала на практике, я рекомендую вам посмотреть создание базовой таблички в видео ниже. Видео 1: HTML таблицы – тег tableУправление ячейками таблицыИ так друзья, теперь мы будем понемногу усложнять нашу таблицу. И повышать ваши умения и практику. HTML-таблица, которую мы сделали с вами выше очень проста. Однако, чаще всего, надо предоставить данные в более сложном формате: Вот этим мы и займёмся. И начнем мы, пожалуй, с… Ячейки-заголовки в таблицеКонечно, мы могли бы всунуть внутрь ячеек первой строки какие-нибудь заголовки, или оформить их жирными через стили. Однако это будет неправильно! Так как специально для этих целей был создан тег th, который задается вместо обычных ячеек (тег td). И указывает на то, что это ячейки-заголовки, которые используются для названия столбцов. А вот и результат кода выше, выполненный в браузере:
Как видите, текст в этих ячейках автоматически делается жирным. Объединение ячеек по горизонтали и вертикалиДовольно часто ячейки в HTML таблицах приходится объединять по горизонтали и вертикали. Для удобства, я называю это объединение по столбцам и по строкам. Так новичкам понятнее, что они делают. Для этого мы будем использовать 2 атрибута, которые задаются непосредственно самим ячейкам: Эти атрибуты должны иметь целое число, начиная с 1 и более. Это правило очень важно, так как если вы не удалите ячейки, которое были объединены, таблица будет отображаться в браузере некорректно. Давайте попробуем в нашей таблице объединить 2 ячейки: И теперь, для правильного отображения таблицы, нам необходимо удалить из кода ячейки, которые были добавлены при объединении. То есть для первого примера мы удаляем из кода ячейки 2 и 3 в строке 2. А для второго – удаляем ячейку 4 в строке 3 и ячейку 4 в строке 4. В итоге у нас получится вот такой код: А на деле, наша таблица будет выглядеть следующим образом:
Как видите, всё отображается ровно и красиво, как и было задумано. Для закрепления материала, советую посмотреть практическое видео ниже. Объединение ячеек сразу по 2-ум направлениямТак же мы можем объединять ячейки не только по какой-либо одной стороне. Но и сразу по двум! Что мы сейчас и проделаем с нашей таблицей. Давайте объединим ячейку 1 строки 3: Для этого мы пропишем ячейке 1 строки 3 следующие 2 атрибута: Помним, что объединённые ячейки замещаются, поэтому ячейки из списка выше, нам надо будет удалить из кода. В итоге вот такой код будет у нашей таблички: А вот так, будет выглядеть наша таблица сейчас:
Шапка, тело и подвал HTML таблицы.Как и сам сайт, наша табличка может иметь свои шапку, тело и подвал. И если вы хотите, чтобы ваш код выглядел семантически правильно для поисковых систем. Советую применять эти знания на практике. Все 3 тега, которые мы будем изучать далее, должны содержать в себе весь контент таблицы. Который условно мы можем разбить на три большие части. Этот тег рекомендуется размещать первым в контенте таблицы. То есть мы заводим этот тег и уже внутри него размещаем заголовочную строку с ячейками. Фишки тега thead: Теперь вернёмся к нашей таблице, и давайте первую строку завернём в этот тег: Визуально он никак не влияет на отображение таблицы, поэтому я не буду выводить результат исполнения кода. Тег tfoot – подвал HTML таблицыФишки тега tfoot: Давайте мы заведём ещё одну строку в таблице, и завернём её с ячейками сразу в тег tfoot : А вот и наша табличка:
Посмотрите внимательно, несмотря на то, что мы разместили тег tfoot в середине таблицы, его содержимое выводится в её конце! Тег tbody – тело таблицы.В отличии от первых двух – этот тег может встречать в таблице сколько угодно раз. Фишек у него никаких нет. Он просто семантически указывает для поисковых роботов, что в нём идёт контент таблицы. Вот такой код получится в итоге: Внешне, наша таблица никак не изменилась! Поэтому и приводить её я здесь не буду. И как обычно, для закрепления материала на практике, советую Вам глянуть видео №3. Видео 3. HTML таблицы – шапка, тело и подвалКроме разбора на практике самих тегов, в этом видео, дополнительно, вы увидите, как оформить шапку, контент и подвал таблицы при помощи стилей. Управление колонками в HTML таблицахОсталось совсем немного ребята. Уже очень скоро таблицы полностью покоряться ваши рукам, головам, ногам или что там у вас ещё имеется в арсенале? Мы рассмотрим ещё 2 тега, которые позволяют управлять колонками в таблицах. Тег colВ итоге наша таблица выглядит уже так (обратите внимание на ширину каждой колонки):
Таблицу приводить в пример не буду, так как она совершенно не поменялась. Тег colgroupЭтот тег используется для объединения колонок по группам. Что бы понять, как он работает, давайте мы первые 3 колонки объединим в этот тег и зададим им какой-нибудь общий стиль. Например, сделаем заливку ячеек другим цветом. Вот какой код ввёл я: В результате ячейки первых 3-ёх колонок окрасились в указанный нами цвет:
Для закрепления материала рекомендую посмотреть последнее видео из этой серии под номером 4. Видео 4. HTML таблицы – управление колонкамиКак видите, ничего сложного в том, чтобы создать сложную функциональную таблицу нет. Главное знать теги и применять их в правильном назначении. Всё остальное – дело техники На этом всё, мои дорогие друзья. Если будут вопросы касательно создания HTML таблиц – задавайте их в комментариях. Как правильно верстать HTML-таблицыУчимся верстать таблицы так, чтобы их верно понимали браузеры, поисковики и люди с ограниченными возможностями. Из этой статьи вы узнаете, как верстать таблицы с учётом не только синтаксиса, но и семантики — то есть обозначать нужные части таблицы тегами, которые отражают их содержание. Знакомство с семантической вёрсткойСемантический подход к вёрстке подразумевает использование HTML-тегов в соответствии с их семантикой (предназначением), а его суть заключается в верности выбора тегов и их взаимного расположения. Семантические теги передают смысл (или обозначают важность) содержащегося в них контента. Семантический подход — противоположность визуальному, при котором важно только то, как HTML-страница выглядит. Почему семантика так важна Она повышает доступность контента. Тогда его лучше понимают: Семантически верно размеченный контент может выглядеть абсолютно так же, как и свёрстанный без учёта семантики. Это касается любых элементов на HTML-странице. Так, можно использовать для всех них тег Для оформления страниц при семантической вёрстке применяют каскадные таблицы стилей (CSS). Рассмотрим, какие теги отвечают за вёрстку таблиц, когда и зачем нужен каждый. Frontend-разработчик, программист, дизайнер. Три года в разработке сайтов и приложений, около девяти — в дизайне. Был графдизайнером в языковой школе ILS и разработчиком в IT-компании IVIT. Сейчас преподаёт в Skillbox. Строки и ячейки таблицыКаждая таблица состоит из строк и ячеек, а задаётся тегом — это контейнер для остальных тегов таблицы. Тег образует контейнер для создания строки таблицы. Каждая ячейка в такой строке устанавливается с помощью тега (хотя первая может быть задана и тегом ). Важно понимать. Дочерними элементами строки могут быть только ячейки (и заголовочная ячейка ). А сама строка дочерним элементом ячейки быть не может. Это ограничивает возможную вложенность тегов. Мы видим три строки (элементы ). В каждой из строк по три ячейки ( ). Представим это HTML-кодом: Объединение ячеекЯчейки можно объединять (растягивать по горизонтали и вертикали) с помощью специальных атрибутов. При этом поглощаемые ячейки задавать своими тегами уже не придётся. И тут важно не запутаться: Атрибут colspan тегов и объединяет ячейки по горизонтали (то есть ячейки одной строки). Значение colspan указывает, сколько столбцов пересекает ячейка. Атрибут rowspan тегов и объединяет ячейки по вертикали (то есть ячейки разных строк). Значение rowspan задаёт, через сколько строк проходит ячейка. Рассмотрим пару примеров: Вторая ячейка первой строки пересекает два столбца. То есть она растянулась по горизонтали и приняла в себя третью ячейку первой строки. Третья ячейка второй строки пересекает две строки, то есть растянулась по вертикали, заняв и третью ячейку третьей строки. Поэтому третьи ячейки для первой и третьей строк задавать не нужно. Они уже поглощены другими. Теперь к коду: Как такое сверстать: Здесь вторая ячейка второй строки занимает два столбца и две строки. Обратите внимание, что во второй строке нет третьей ячейки и в третьей строке нет второй и третьей ячеек. Теперь места этих ячеек занимает вторая ячейка второй строки. Заголовок таблицыЭтот тег следует включать в любую таблицу. Где бы вы его ни разместили, его содержимое будет выведено перед таблицей. Изменить это можно с помощью свойства caption-side (значение top — для вывода до таблицы, и bottom — после). Тег по умолчанию выравнивает своё содержимое по центру. Чтобы установить выравнивание по левому или правому краю, достаточно поменять значение свойства text-align. Зачем нужен заголовок? Примечание. Если дизайнер не предусмотрел заголовок таблицы, то хороший разработчик придумает его, добавит в разметку и скроет через CSS. Это повысит доступность контента. Даже скрытый заголовок всё равно доступен при навигации по странице с помощью клавиатуры. И речевой браузер для людей с ограниченными возможностями тоже понимает тег — читая текст в этом теге, он меняет интонацию, темп речи, повышает громкость голоса и тому подобное. Структура таблицСогласно стандарту HTML5, в таблице может быть только по одной секции thead и tfoot, а вот tbody — несколько. Эти элементы полезны не только для доступности, но и для стилизации (как логичные точки добавления CSS к таблице). Шапка таблицыЭтим тегом задают заголовочную секцию таблицы. Чаще всего речь идёт о первой строке — содержащей заголовки столбцов. Браузер и поисковики считают эту часть заголовочным колонтитулом таблицы. Например, при печати колонтитулы таблицы будут на каждой напечатанной странице — и благодаря такой шапке вы не забудете, что значат данные каждого столбца. Заголовки столбцов и строк. ТегТег задаёт особые ячейки, с которых начинаются строки или столбцы. В такой ячейке обычно хранится атрибут для всех данных строки или столбца. Как мы и говорили выше, к содержимому таких ячеек применяется определённый стиль: по умолчанию это выделение жирным шрифтом и выравнивание по центру ячейки. Благодаря заголовочным ячейкам таблица выглядит лучше, а искать данные в ней становится проще. Важно. Не применяйте для визуального форматирования — только для выделения ячейки-заголовка. Этот принцип касается всех элементов разметки, которые обладают семантикой. Тег даёт ещё одно преимущество: вместе с атрибутом scope он связывает каждый заголовок со всеми данными строки или столбца. То есть добавляет к интуитивной, визуально считываемой связи такую, которую понимают и программы. К тегу и атрибуту scope мы вернёмся ближе к концу статьи, где подробнее поговорим о доступности таблиц для пользователей с ограниченными возможностями. Тело таблицыСекция содержит основную часть информации и группирует главные части таблицы. То есть можно использовать сколько угодно раз, чтобы разбивать основной контент таблицы на части, данные которых связаны общей логикой. Тег семантически важен: браузер, поисковые роботы и помощники для людей с ограниченными возможностями благодаря ему понимают, где находится основное содержимое таблицы.
Данные основной части таблицы надо сгруппировать по смыслу. У нас сначала идёт январь, затем февраль. Значит, для данных каждого месяца логично использовать свой : Подвал таблицыСекция используется для группировки содержимого нижней части таблицы. Семантически это итог таблицы (например, результат подсчёта сумм по столбцам).
Важно помнить!Теги и нужны не всегда. Бывают таблицы без шапки и подвала. К тому же браузер всё равно подставит этот тег сам, а всегда полагаться на браузеры — значит оставить место для возможных ошибок.
Теги иC помощью тега удобно стилизовать столбцы таблицы через CSS (не приходится писать классы для каждой ячейки в разных строках). Это крутая фишка для любого разработчика. Для группировки тегов применяют специальный тег : позволяет задать стиль сразу для группы столбцов, а тег внутри — переопределить его для отдельных столбцов в группе. Атрибут spanУ тега есть атрибут span, который распространяет стиль на несколько столбцов. Первый тег — это первый столбец, а второй тег — второй, но из-за атрибута span, в котором мы указали значение «2», его стиль распространяется и на третий. Атрибут scope тегаКогда таблица хорошо структурирована, достаточно беглого взгляда, чтобы понять, какие где данные: мигом возникают визуальные ассоциации между основной информацией в таблице и заголовками её колонок и/или строк. Но что, если наши пользователи не могут провести такую визуальную параллель. Например, они слабовидящие. Как им прочитать сложную таблицу? Люди с ослабленным зрением часто применяют скринридеры — программы, которые читают для них веб-страницы. С обычным текстом скринридер справляется хорошо, но интерпретировать сложную таблицу для него проблема. Поэтому разработчики должны позаботиться об этом и дополнить визуальные ассоциации в таблице программными, которые скринридер сможет понять. Чаще всего это делают с помощью тега и атрибута scope, который сообщает скринридеру, какие ячейки точно являются заголовками — например, заголовок строки, в которой программа находится, или же заголовок столбца. Благодаря им все пользователи могут интерпретировать таблицу так же, как и зрячие люди. Вернёмся к нашей таблице чётности чисел:
Чтобы однозначно указать заголовки столбцов, делаем вот так: И у каждой строки тоже можно определить заголовок (если в таблице есть не только заголовки столбцов). Слегка изменим для этого наш пример:
Скринридер распознаёт такую семантическую разметку и позволяет пользователям прочесть весь столбец или строку целиком. У атрибута scope есть ещё два значения — colgroup и rowgroup. Они используются для таблиц с двумя и более уровнями заголовков (заголовки, которые группируют подзаголовки). Так заголовок верхнего уровня получает scope=»colgroup», а у его подзаголовков scope=»col», и аналогично для строк. ПодытожимЗаботьтесь обо всех пользователях — верстайте таблицы семантически верно.
|
---|