Как сделать большую таблицу в html. Почти стандартный режим

Таблицы в HTML настолько функциональны, что с помощью них можно верстать целые сайты (читайте ). Сейчас мы поговорим о вставке на веб-страницу несложных HTML-таблиц, разбирая только разметку, но не касаясь оформления, потому что украшать таблицы лучше с помощью CSS-стилей.

Теги и атрибуты таблиц

Вот основные элементы, которые нужны для создания таблиц:

  • - контейнер, внутри которого располагается таблица (такой же, как
      для маркированных или
        для нумерованных списков).
      1. border - атрибут, определяющий толщину рамок. Вместо него лучше использовать свойство border CSS.
    внутрь
    задаёт подпись таблицы. Контейнер можно не использовать, но если вы всё-таки решили озаглавить таблицу, то ставьте его сразу после тега , вне ячеек и строк.
  • - парный тег, содержащий строку таблицы (ячейки, расположенные на одном уровне по горизонтали).
  • , столько ячеек в ней и будет: один тег - одна ячейка.
  • позволяет группировать столбцы, быстро и не засоряя код задавать им общие характеристики. С помощью контейнера можно отделять логические части таблицы друг от друга. Располагается после тега

    Здесь класс line задает размеры ячейки.

    Здравствуйте, уважаемые читатели блога! Частенько на web-страницы, кроме текста и картинок, возникает необходимость вывести различные данные в виде таблиц. Да это и понятно, таблица — удобнейший способ представления большого количества сведений. Поэтому возникает вопрос «Как же вставлять таблицы в html?» . В этой статье я отвечу вам на этот вопрос и приведу вам множество примеров различных html таблиц.

    Как создать таблицу используя HTML

    HTML-таблицы создаются в четыре шага.

    1. На первом шаге в html-коде с помощью парного тега

    - тег, создающий ячейку заголовка таблицы. Внешне её содержимое отличается от контента в других ячейках - обычно текст внутри обозреватель выделяет жирным и размещает по центру.
  • - контейнер, с помощью которого создаётся простая ячейка. Сколько таких тегов будет содержать строка (тег
    , если его нет, то после .
  • используется для той же цели, что и . может содержать , но не наоборот.
  • span - атрибут, задающий число столбцов, к которым применяются свойства контейнера
  • .
  • , и - контейнеры, которые позволяют разделить таблицу соответственно на верхнюю (заголовки), основную (тело) и нижнюю (итоговую) части. В HTML-таблице последовательность этих тегов такая же, как последовательность контейнеров , и
    в HTML-документе.
  • colspan нужен для объединения ячеек в строке. Значение атрибута содержит цифру, которая и задаёт количество объединяемых ячеек.
  • rowspan объединяет ячейки по столбцам.
  • Пример создания таблицы

    Создайте документ формата HTML и скопируйте в него следующий код:

    Пример таблицы

    Инструменты создания сайтов
    НазначениеИнструмент
    РазметкаHTMLXHTML
    ОформлениеCSS
    РазработкаPHPPython

    В браузере документ будет выглядеть так:

    Разберём, какие строчки кода за что отвечают.

    • - открыли таблицу, задав ей толщину рамок.
    • - озаглавили её.
    • - открыли строку.
    • - создали ячейку с оформлением заголовка.
    • - создали вторую заголовочную ячейку в строке. Параметром colspan указали, что эта ячейка должна занимать по горизонтали две.
    • - закрыли строку. Аналогично создали остальные строки.
    • - добавили вторую строку таблицы уже с обычными, а не заголовочными, ячейками. Аналогично вставили последующие строки и ячейки.
    • Инструменты создания сайтов
      Назначение Инструмент
      Разметка HTML XHTML
      - закрыли таблицу.

    Благодаря универсальности таблиц, большому числу параметров, управляющих их видом, таблицы надолго стали определенным стандартом для верстки веб-страниц. Таблица с невидимой границей представляет собой словно модульную сетку, в блоках которой удобно размещать элементы веб-страницы. Тем не менее, это не совсем правильный подход, ведь каждый объект HTML определен для своих собственных целей и если он используется не по назначению, причем повсеместно, это значит, что альтернатив нет. Так оно и было долгое время, пока на смену таблицам при верстке сайтов не пришли слои. Это не значит, что слои теперь используются сплошь и рядом, но тенденция уже наметилась четко — таблицы применяются для размещения табличных данных, а слои — для верстки и оформления.

    Создание таблицы

    Таблица состоит из строк и столбцов ячеек, которые могут содержать текст и рисунки. Обычно таблицы используются для упорядочения и представления данных, однако возможности таблиц этим не ограничиваются. C помощью таблиц удобно верстать макеты страниц, расположив нужным образом фрагменты текста и изображений.

    Для добавления таблицы на веб-страницу используется тег

    . Этот элемент служит контейнером для элементов, определяющих содержимое таблицы. Любая таблица состоит из строк и ячеек, которые задаются соответственно с помощью тегов и задает строки, а точно так же, как и данные таблицы. Для строки могут задаваться следующие переменные:

    1. Уже известные вам border, bordercolor и bgcolor.

    2. Align - выравнивание текста в строке. Может принимать значения left, center и right.

    3. Valign - данный тэг выравнивает текст по вертикали. Принимает следующие значения:

    • top - текст выравнивается по верхней границе;
    • middle - по центру;
    • bottom - по нижней границе.

    Пример оформления строки:

    ;
  • ;
  • ;
  • .

    Параметры ячеек

    И последнее, на что стоит обратить внимание тем, кто желает знать, как сделать таблицу в HTML - параметры отдельных ячеек, как обычных, так и заглавных. По сути, все делается точно так же, как и для таблицы или строки. Единственное, добавляется еще два немаловажных элемента:

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

    2. Rowspan - указывает уже количество строк, которое занимает данная ячейка.

    Так как оформление ничем не отличается от прописывания строки, то не будем приводить пример кода.

    Выводы

    Сделать таблицу не так сложно, как может показаться на первый взгляд. Главное при написании ее кода - усидчивость и внимание.

    Что касается того, как вставить таблицу в HTML, то ее шифр достаточно скопировать и вставить именно в то место вашей страницы, в котором она, по вашему мнению, должна располагаться.

    Не бойтесь экспериментировать, и вскоре вы в совершенстве овладеете техникой создания таблиц. Успехов!

    Этот режим основан на стандартном режиме с некоторыми исключениями: отображение изображений внутри ячеек таблицы и рисунков друг под другом происходит как в режиме совместимости. Для переключения в почти стандартный режим применяется один из следующих доктайпов.

    Для фреймов в HTML:

    Для фреймов в XHTML:

    Изображения друг под другом

    При выводе изображений вертикально с переводом строки через
    картинки в почти стандартном режиме выводятся слитно без промежутков. В примере 1.2 показан код для вывода двух изображений.

    Пример 1.2. Вывод двух изображений

    HTML 4.01 IE Cr Op Sa Fx

    Изображения по вертикали


    Поскольку рисунки предварительно были одним и «разрезаны» для удобства, они образуют единое изображение (рис. 1.1).

    Рис. 1.1. Вывод изображений в почти стандартном режиме

    В стандартном режиме между изображениями образуется небольшой промежуток (рис. 1.2).

    Рис. 1.2. Вывод изображений в стандартном режиме

    Для обхода этой особенности в стандартном режиме существует два основных способа:

    1. добавить display : block для изображений;
    2. использовать свойство line-height для родительского контейнера.

    Рассмотрим эти способы подробнее.

    Превращение тега в блочный элемент еще не раз поможет нам для обхода различных неприятностей, связанных с изображениями. В этот раз воспользуемся той особенностью, что блочные элементы выстраиваются друг под другом слитно (отступы в расчёт не принимаем). При этом тег
    из кода, конечно же, следует убрать (пример 1.3).

    Пример 1.3. Использование свойства block

    Изображения по вертикали

    Не обязательно применять свойство display , также можно воспользоваться line-height , это свойство задаёт межстрочный интервал. Установив значение 1px для тега

    Внутри которого располагаются изображения, мы получим аналогичный результат (пример 1.4).

    Пример 1.4. Использование свойства line-height

    XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

    Изображения по вертикали


    Изображения в таблице

    При добавлении изображения в ячейку таблицы также проявляется разница между режимами браузера. Для понимания разберем следующий код (пример 1.5). Чтобы стала заметна граница вокруг таблицы, в стилях добавлено свойство border для селектора TABLE .

    Пример 1.5. Изображение в таблице

    HTML 4.01 CSS 2.1 IE Cr Op Sa Fx

    Изображения в таблице

    . Таблица должна содержать хотя бы одну ячейку (пример 12.1). Допускается вместо тега использовать тег . Текст в ячейке, оформленной с помощью тега , отображается браузером шрифтом жирного начертания и выравнивается по центру ячейки. В остальном, разницы между ячейками, созданными через теги и нет.

    Пример 12.1. Создание таблицы

    Тег TABLE

    Ячейка 1 Ячейка 2
    Ячейка 3 Ячейка 4

    Порядок расположения ячеек и их вид показан на рис. 12.1.

    Таблицы - одни из наиболее важных, но в тоже время сложных элементов, которые должны присутствовать на веб-страницах. С их помощью удобно подавать важную и полезную информацию в довольно сжатой форме. Конечно, большинство редакторов в шаблонах, работающих на различных движках, позволяют автоматически вставлять таблицу на страницу сайта или отдельной публикации, но что, если дизайн веб-ресурса, его страницы создаются с нуля? Тогда перед начинающим мастером может встать проблема: как сделать Давайте разберемся, как же правильно и быстро создать данный элемент.

    Выбираем редактор

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

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

    Да, это действительно так, но, создавая таблицу с чистого листа, вы не только сможете досконально изучить сам принцип ее создания, но и не допустить досадных опечаток и ошибок в основном коде. Иногда случается так, что курсор случайно перемещается вниз, и в процессе написания в код закрадывается ошибка, которую порой сложно найти. Создав таблицу в блокноте, вы сможете скопировать ее шифр и вставить в нужное вам место.

    Алгоритм создания таблицы

    Для начала составим краткий алгоритм, как сделать таблицу в HTML. Это нужно для того, чтобы вы понимали последовательность каждого шага. Затем разберем, как именно выполнять каждый из пунктов.

    Начнем с подготовительных действий.

    1. Рисуем на листе бумаги схематическое изображение таблицы.

    2. Подсчитываем количество строк и ячеек. Если количество последних разное - считаем для каждого рядочка отдельно.

    3. Определяем в строке количество ячеек-заголовков (к примеру, ячейки «№», «Имя» и т. д.).

    4. Записываем основные параметры таблицы - цвет, высоту и ширину, выравнивание текста - в общем, все, что вам покажется нужным.

    1. Вставляем тэги таблицы.

    2. Вставляем тэги строк исходя из того количества, которое вам нужно.

    3. В строках вставляем тэги ячеек (обычных и заглавных), также исходя из того количества, которое записано у вас на бумаге.

    4. Задаем параметры для таблицы в целом.

    5. При надобности задаем показатели для отдельных ячеек.

    6. Заполняем наши ячейки текстом.

    Создаем таблицу

    Итак, вы выбрали редактор, теперь давайте разберемся, как создать таблицу в HTML. Тэг, с помощью которого в код страницы вставляется таблица (

    ), является парным, то есть начинается наша конструкция с данного тэга, а заканчивается
    .

    Вставив тэги таблицы, переходим к созданию строк и ячеек.

    Сразу отметим, что данные элементы также являются парными. Тэг

    - ячейки.

    Для заглавных ячеек следует использовать парный элемент

    .

    Как уже говорилось, первым делом следует оформить строки, затем в них прописывать уже ячейки. Для того чтобы не запутаться, советуем делать либо отступы между каждым блоком в одну-две строчки, либо же прописывать новый блок элементов, используя клавишу "Tab".

    Как это может выглядеть? Примерно так:

    • ;
    • ;
    • ;
    • ;
    • ;
    • ;
    • ;
    • ;
    • № п/п Фамилия
      1;
    • Иванов
      .

    Как видите, ничего сложного в этом нет. Главное - не запутаться в количестве строк и ячеек. Иначе таблицу может перекосить.

    Мы с вами разобрали создание таблицы в HTML, теперь можем переходить к параметрам как самой матрицы, так и ее строк и ячеек.

    Параметры таблицы

    Когда код написан, следует обратить внимание на следующие пункты: выравнивание в границ, фона, текста и прочее.

    Параметры таблицы задаются в тэге

    . К ним относятся:

    1. Border - ширина границ. Задается целым числом. По умолчанию границы любой таблицы равны нулю.

    2. Bordercolor - цвет границы. Может задаваться как шестнадцатеричным кодом цвета (#00008B), так и его названием на английком (DarkBlue). По умолчанию он всегда серый.

    3. Bgcolor - Также задается с помощью кода или названия.

    4. Align - выравнивание текста за таблицей. По умолчанию - по левому краю. Есть следующие варианты данного параметра:

    • left - обтекание справа;
    • right -обтекание слева;
    • center - вывод таблицы по центру без обтекания.

    5. Width и height - ширина и высота таблицы. Может задаваться как в пикселях, так и в процентах (относительно размера браузера окна).

    Прописывая тот или иной показатель, следует обратить особое внимание на оформление. После указания параметра должен идти знак "равно", после которого в кавычках указывается заданное значение.

    Что касается цвета текста, то его оформляют так же, как и обычный текст в формате HTML.

    Пример оформления таблицы:

    ;
  • ;
  • ;
  • ;
  • ;
  • ;
  • ;
  • ;
  • № п/пФамилия
    1;
  • Иванов
    .

    Параметры строк

    Итак, мы уже разобрались, как сделать таблицу в HTML и прописать основные ее параметры. Но что, если нам нужно выделить строку? Оформить ее не так, как основной текст таблицы?

    Параметры строки прописываются в тэге

    № п/пФамилия

    Результат данного примера показан на рис. 1.3а. Для стандартного режима вывод изображения несколько отличается (рис. 1.3б).

    а б

    Рис. 1.3. Изображение в таблице. а - почти стандартный режим, б - стандартный режим

    Заметно, что в стандартном режиме появляется небольшой отступ внизу картинки. Откуда он берется? Если добавить в ячейку текст и увеличить масштаб (рис. 1.4), то хорошо заметно, что изображение как строчный элемент выравнивается по базовой линии текста, а не по его нижнему краю. Соответственно, разница между базовой линией и нижним краем текста и есть значение промежутка под картинкой.

    Рис. 1.4. Базовая линия текста

    Опять же, существует несколько способов изменить поведение изображений в таблице. Первый способ уже упоминался, это преобразование тега в блочный элемент с помощью свойства display со значением block (см. пример 1.3). Стиль в таком случае будет следующий:

    TABLE IMG { display: block; }

    Если наряду с изображениями внутри ячейки находится текст, этот стиль может привести к нежелательным последствиям. Вместо того чтобы картинка располагалась рядом с текстом, она, как блочный элемент, появится на новой строке. В этом случае рекомендуется задать выравнивание изображений по нижнему краю через свойство vertical-align со значением bottom (пример 1.6).

    Пример 1.6. Выравнивание изображений

    XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

    Изображения в таблице

    Текст

    Хотя во всех браузерах в данном примере наблюдается выравнивание изображения по нижнему краю, несколько различается выравнивание самого текста. Браузеры Firefox, Safari, IE7 выравнивают текст по нижнему краю рисунка, а Opera, IE8, IE9 - по верхнему.

    Однопиксельные рисунки

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

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

    указываем браузеру, что в web-страницу вставлена таблица:
    . Элемент table является блочным элементом web-страницы. Следовательно таблица всегда выводится с новой строки с отступами по вертикали от соседних элементов, поэтому нет необходимости помещать ее в абзац.

    2. На втором шаге формируем строки таблицы, помещая парные теги

    . Каждый элемент создает отдельную строку:





    3. Далее, на третьем шаге формируем ячейки таблицы с помощью парных тегов и , которые помещаются внутрь элемента . Тег создает обычную ячейку, а ячейку заголовка , т.е. шапку соответствующего столбца:











    4. Ну и на последнем шаге помещаем внутрь элементов и содержимое ячеек. HTML-код вставки таблицы на веб-страницу выглядит примерно так:











    Столбец 1Столбец 2Столбец 3
    Ячейка 1-1Ячейка 1-2Ячейка 1-3
    Ячейка 2-1Ячейка 2-2Ячейка 2-3

    Более тонко настроить отображение границ помогут . С помощью можно изменить толщину и цвет рамок, а также изменить тип границ.

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

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

    Кроме текста мы можем помещать в ячейки картинки с помощью тега :

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

    и
    , и в нее вставляются строки и ячейки.

    При создании таблиц необходимо учитывать некоторые правила:

    • для создания таблицы используется только тег ;
    • тег
    • может находиться только внутри тега
      ;
    • теги
    • , любое другое содержимое тега игнорируется браузером;
    • содержимое таблицы(текст или картинки) может находиться только в тегах
    • и могут находиться только внутри тега
      и ;
    • ячейки таблицы должны иметь хоть какое-то содержимое, иначе браузер может их вообще не отобразить, если же какая-то ячейка должна быть пустой, то в нее обычно помещают неразрывный пробел (HTML-литерал);
    • таблица относится к блочным элементам web-страницы;
    • размеры таблицы и ее ячеек зависят от содержимого, т.е. таблица растягивается по ширине и высоте так, чтобы все уместилось;
    • между границами отдельных ячеек и между границей каждой ячейки и ее содержимым делается небольшой отступ;
    • текст ячеек заголовка(элемент th) выводится полужирным шрифтом и выравнивается по центру;
    • границы вокруг таблицы и ее ячеек по умолчанию не рисуются.
    • Заголовок таблицы

      Начнем с парного тега

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









      Это таблица
      Ячейка 1.1Ячейка 1.2
      Ячейка 2.1Ячейка 2.2

      Отображение:

      Секции таблицы

      Таблицу html можно логически разбить на части — секции. Всего существует три вида секций:

      • секция заголовка , в которую помещают ячейки заголовка, которые формируют шапку таблицы;
      • секция тела , в которой располагают ячейки с основными данными;
      • секция завершения , в которую помещают ячейки с итоговыми данными.

      Секция заголовка таблицы формируется с помощью парного тега

      .

      Секцию тела создают парным тегом

      . Одна html таблица может содержать несколько секций тела, что позволяет создавать структурные блоки к которым могут применяться единые стили оформления.

      Секция завершения формируется парным тегом

      и в пределах одного контейнера
      может быть только одна.

      Все эти парные теги должны содержать теги

      , которые формируют строки, относящиеся к соответствующим секциям:




















      Столбец 1Столбец 2Столбец 3
      Ячейка 1.1Ячейка 1.2Ячейка 1.3
      Ячейка 2.1Ячейка 2.2Ячейка 2.3
      Итог 1Итог 2Итог 3

      Объединение ячеек таблицы

      Осталось рассказать о самой важной возможности таблиц — объединении ячеек. Для объединения нескольких ячеек в одну используются атрибуты colspan и rowspan тегов

      и . Атрибут colspan задает количество ячеек объединенных по горизонтали, а rowspan — по вертикали:













      1.11.2-1.3
      2.12.22.3
      3.1-4.13.23.3
      4.24.3

      Результат примера:

      1.1 1.2-1.3
      2.1 2.2 2.3
      3.1-4.1 3.2 3.3
      4.2 4.3

      При объединении ячеек важно проверить количество ячеек в каждой строке, чтобы не было ошибок. Так, конструкция

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

      Пример неправильного html-кода при объединении ячеек:








      ячейка 1.1ячейка 1.2
      ячейка 2.1ячейка 2.2

      И результат отображения в браузере:

      Т.е. если проанализировать html-код, то вы заметите, что в первой строке задано три ячейки, две из которых объединены с помощью атрибута colspan, а во второй строке добавлено только две ячейки. По этому во второй строке возникает третья пустая ячейка.

      Атрибуты тега

      В этом посте мы уже столкнулись с одним атрибутом тега

      . С атрибутом border, который задает толщину рамки в пикселях. По умолчанию он равен 0 и следовательно ячейки по умолчанию отображаются без рамки.

      Кроме атрибута border есть еще несколько важных атрибутов поддерживаемых тегом

      . Давайте их рассмотрим.

      Атрибут align — задает выравнивание таблицы на странице. Может принимать значения left, center, right, которые задают выравнивание соответственно по левому краю, по центру и по правому краю. По умолчанию равен left.

      Атрибут background , который задает фоновый рисунок к таблице. В качестве значения принимает адрес файла с изображением.

      bgcolor — устанавливает цвет фона таблицы. Можно использовать совместно с атрибутом background.

      Атрибут bordercolor задает цвет рамки таблицы.

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

      Cellspacing — задает расстояние между внешними границами ячеек .

      На этом рассказывать о том как вставить таблицу в html страницу я закончу, только подведу итоги:

      • для вставки таблицы используются теги
      — обозначение таблицы, — добавление строки и , секция завершения и секция тела — ;
    • для объединения ячеек используем атрибуты тега
    • — вставка ячейки;
    • таблица представляет из себя блочные элемент web-страницы;
    • в качестве содержимого ячеек может быть не только текст, но и картинки и другие таблицы;
    • таблица может содержать три вида секций: секция заголовка —
    • colspan и rowspan.

      На этом все, в следующем посте я расскажу о средствах навигации на html-сайте. Чтобы не пропустить этот пост подписывайтесь на обновления моего блога ! Все, до новых встреч!