Как закрасить ячейку в html
Перейти к содержимому

Как закрасить ячейку в html

  • автор:

Таблицы в HTML

html table tag

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

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

Часто наши сайты и представляют собой что-то наподобие таблиц, только не в табличной верстке, а сверстанных при помощи дивов (блоков). Даже самая простая верстка сайта контейнерами напоминает таблицу, в левом (правом) меню которой находится боковая панель, в «шапке таблицы» — заголовок, меню, логотип, по центру — контент.

Что-то вроде этого и наблюдается при применении табличной верстки. Перейдем к практике.

Как в HTML сделать таблицу

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

Для добавления на страницу таблицы используется тег <table>. Это основной и главный контейнер, в который помещают элементы таблицы (строки и столбцы). И этот контейнер нужно закрывать — </table>.

Строки и столбцы задаются при помощи тегов <tr> и <td>, при этом вместо <td> вы можете смело использовать <th>. Отличие <th> от <td> в том, что браузер отображает текст в ячейке <th> как жирный, а также выравнивает его по центру ячейки — т.е. можно использовать в заголовках таблицы, не прибегая к дополнительному форматированию. В остальном между ними нет разницы, можно использовать любой.

Строки таблицы (<tr></tr>) должны быть помещены строго между <table></table>. А столбцы таблицы (<td></td>) в свою очередь помещаются строго между тегами <tr></tr>.

Давайте создадим на практике таблицу, которая будет состоять из одной строки и четырех столбцов. Нам нужно обозначить начало таблицы (<table>), начало строки (<tr>), четыре ячейки (<td>), конец строки (</tr>), конец таблицы (</table>).

как создать и сделать таблицу в html

Теперь давайте используем тег <th>, чтобы больше не возвращаться к этому.

использование th вместо td при создании таблицы

Я поставил ширину таблицы 400 и, как видите, первая и третья ячейка выделены жирным и выравниваются по центру. Остальные — по левому краю. Я рекомендую всегда уделять достаточное количество времени форматированию кода, чтобы не запутаться в нем. В маленькой таблице это может не играть большой роли, но вот в большой…

Давайте немного подробнее о ширине, раз я ее упомянул. Ширина таблицы задается атрибутом width, высота — height. Изменять подобным образом можно не только ширину и высоту таблицы, но и размеры ячеек (они все должны помещаться в таблицу, иначе браузер не поймет, что вы от него хотите).

Эти значения (ширина и высота) задаются в пикселях, процента. Можно оставить и так, ничего не писать, браузер подумает, что вам лень было писать «px» и сочтет цифру за пиксели.

Ну а если вы хотите выровнять содержимое одной или нескольких табличных ячеек, — используйте атрибут align со значениями left, center, right. Это горизонтальное выравнивание, а есть еще вертикальное и у него свой отдельный атрибут — valign, который может принимать значения: baseline (вертикальное выравнивание точно по базовой линии), bottom (по нижнему краю), middle (значения ячеек будут выравнены вертикально по середине), top (по верхнему краю). По умолчанию браузеры выравнивают ячейки по центру (середине).

Увеличиваем рамку (границы) таблицы и меняем ее цвет

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

как сделать таблицу с несколькими столбцами и строками

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

Добавляем всего 1 атрибут и становится уже получше:

как создать границы у ячеек таблицы

Это как в Экселе! Представьте, что не было бы разделения ячеек линиями (сеткой)? Ну ужас же. А вот что будет, если выставить border, равный 10.

как сделать внешнюю границу у таблицы

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

Давайте изменим цвет этой рамки, ведь для этого тоже есть атрибут — bordercolor. Установим его значение равным «d3d3d3». Результат:

как сделать рамку у таблицы одного цвета, покрасить ее

Как сделать отступы в таблице

Отступы в таблице также нужны для повышения «читаемости», как и границы ячеек. Для создания отступов нам понадобится атрибут «cellspacing». Я буду по прежнему работать с нашей 4х4 таблицей, применяя к ней этот атрибут. Актуализирую код для вас (я привожу только одну строку, чтобы не загромождать пост):

как увеличить отступы между ячейками в таблице

Это были отступы снаружи ячеек. Но есть похожий атрибут для задания отступов внутри ячеек — cellpadding, сейчас я сделаю его также равным 10 и вы увидите, как увеличилось расстояние от содержимого ячейки до ее границ (пришлось сделать количество ячеек поменьше, чтобы таблица не разрасталась чрезмерно). Код:

как увеличить отступы внутри ячеек

Теперь уберем «cellspacing» и оставим только «cellpadding». Результат:

как оставить отступы у ячеек и убрать отступы между ячейками

Вот и разобрались с тем как создать отступы в таблице и управлять ими. Отлично! Если Вас интересуют как делать перенос строки, то об этом написано здесь.

Как грамотно объединить ячейки в таблице

Для объединения ячеек в вашей таблице также есть специальные атрибуты. Это «colspan» и «rowspan». Первый (colspan) объединяет ячейки по столбцам (горизонтали), второй (rowspan) — по строкам или по вертикали. Давайте объединим что-нибудь в нашей таблице.

Здесь внимательно! При объединении ячеек, вам нужно уменьшить их количество на то число (минус один), которое вы прописываете в параметрах атрибута. Если вы будете создавать таблицу в HTML, объединять ячейки не удаляя лишние, то сайт будет ехать. Объединяем две — удаляем одну. Объединяем три — удаляем две. И так далее.

При слиянии ячеек в колонках или столбцах, одну ячейку нужно удалять! И делать это столько раз, сколько ячеек вы объединяете. Сейчас покажу на примере.

При слиянии ячеек в колонках или столбцах, одну ячейку нужно удалять! И делать это столько раз, сколько ячеек вы объединяете.

Сейчас покажу на примере. Вот наша текущая таблица:

образец таблицы в html

Давайте объединим ячейки с номерами «1 и 2», «5 и 9», «4, 8, 12», «6 и 7». Смотрите как круто получилось, я сам не ожидал!

как объединить ячейки таблицы в html

Принцип объединения такой.

При горизонтальном объединении ячейки номер 1 и 2, нужно в первой прописать «colspan=»2″», содержимое второй поместить в первую (мы же объединяем) и удалить вторую ячейку (или скрыть ее от HTML как это сделал я — потом покажу.)

При вертикальном объединении ячеек номер 4, 8, 12, нужно в первой ячейке (номер 4) прописать «rowspan=»2″», а содержимое остальных удалить, предварительно поместив в объединенную ячейку.

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

Надеюсь понятно объяснил и привел хороший пример.

Как сделать заголовок у таблицы

Чтобы задать таблице заголовок — используйте теги <caption></caption> после начала таблицы (<table>), но до начала тега <tr>. Вот что получается:

как сделать заголовок у таблицы сверху

Ну и небольшой HTML-хак для тех, кому нужно разместить заголовок таблицы под самой таблицей. Используйте атрибут align со значением bottom вот так:

И тогда заголовок таблицы переместится под таблицу.

как сделать заголовок у таблицы снизу, под таблицей

Итак, мы рассмотрели почти все, за исключением… Фона!

Как сделать красивый фон у ячейки или всей таблицы

HTML позволяет задать цвет не только у всего фона таблицы, но и у каждой отдельной ячейки (если есть такая потребность). Устанавливает цвет фона таблицы или ячейки атрибут «bgcolor».

Давайте я сначала задам фон для всей таблицы. Это будет цвет «»lightgreen»» (а вообще можно задать его и вот так — «»#90EE90″»). Вот так теперь у меня начинается таблица:

как сделать одним цветом фон у таблицы

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

как сделать фон для одной из ячеек таблицы

По-моему круто! Если бы я участвовал в конкурсе креативных таблиц (или обучения дошкольников HTML) — точно бы победил.

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

border-color change in table cells

that I want when I hover on each of the cells, the borders of the cell could change color. So I wrote the following CSS trying to achieve the effect:

This code works, but not perfectly. It works great when I hover on the cells 1, 2, 3 (as numbered in the html), BUT when I hover, for example, on cell 4 5 6, the top border of the cell is not showing blue. I think the top borders of them are overlayed by the bottom borders of the cells above.

HTML тег <td>

Тег <td> используется для создания стандартной ячейки HTML таблицы. Тег должен находиться внутри контейнера <tr>, который определяет строки таблицы. Для определения заголовочной ячейки используется тег <th>.

Содержимым тега <td> может быть любой HTML элемент; текст, форма, изображение, таблица и т.д. По умолчанию содержимое ячейки отображается обычным шрифтом и выравнивается по левому краю.

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

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

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

Таблица. Как изменить стиль таблицы в HTML?

Для изменения стиля вашей таблицы в HTML, необходимо применить правильные атрибуты к тегам <table>, <tr> и <td>, то есть к самой таблице, ее строкам и ячейкам.
Рассмотрим сначала атрибуты, применяемыем к тегу <table>.

Атрибуты тега <table>:

Атрибут Описание атрибута Значения атрибута Описание значения атрибута
align Задает выравнивание таблицы по-ширине, относительно окна браузера или относительно блока, в котором размещена таблица left Выравнивает таблицу по левому краю, значение по-умолчанию
center Выравнивает таблицу по центру
right Выравнивает таблицу по правому краю
background Указывает путь к файлу с изображением, которое будет использоваться для фона всей таблицы. Обратите внимание, что фоновая картинка устанавливается в масштабе 100% от ее реального размера, а в случаю, когда размер картинки меньше размера таблицы, картинка будет повторяться, чтобы покрыть всю площадь таблицы Можно использовать и относительный и абсолютный путь к файлу
bgcolor Устанавливает цвет фона таблицы Цвет по-умолчанию обычно белый
border Устанавливает толщину рамки таблицы в пикселах, допустимо указывать любое целое положительное число По-умолчанию значение «0»
bordercolor Устанавливает цвет рамки таблицы Значение по-умолчанию зависит от установленного у пользователя браузера и операционной системы
cellpadding Устанавливает расстояние от рамки до содержимого ячейких, допустимо указывать любое целое положительное число в пикселах или в процентах от доступного пространства По-умолчанию значение «0»
cellspacing Устанавливает расстояние между внешними границами ячеек, допустимо указывать любое целое положительное число в пикселах По-умолчанию значение:
«0» (когда нет атрибута border);
«2» (когда атрибут border установлен).
cols Устанавливает количество столбцов в таблице Вспомогательный атрибут, помогающий браузеру быстрее отобразить таблицу, не дожидаясь пока все содержимое таблицы будет подгружено
frame Задает значения для отображения в браузере границы вокруг таблицы void Не отрисовывать границы вокруг таблицы
border Отрисовывать границу вокруг таблицы, значение по-умолчанию
above Отрисовывать границу по верхнему краю таблицы
below Отрисовывать границу снизу таблицы
hsides Отрисовывать только горизонтальные границы сверху и снизу таблицы
vsides Отрисовывать только вертикальные границы справа и слева таблицы
rhs Отрисовывать границу только по правой стороне таблицы
lhs Отрисовывать границу только по левой стороне таблицы
rules Задает значения для отображения в браузере границ между ячейками таблицы all Граница отрисовывается вокруг каждой ячейки, значение по-умолчанию (если значение атрибута border отлично от нуля)
groups Граница отрисовывается между группами, которые образуются тегами <thead>, <ttfoot>, <tbody>, <tcolgroup> или <tcol>.
cols Отрисовывать границу только между колонками таблицы
none Границы не отрисовываются, значение по-умолчанию (если border=»0″)
rows Границы отрисовываются только между строками таблицы, созданными через тег <tr>
width Задает ширину таблицы, допустимо указывать любое целое положительное число в пикселах или в процентах от доступного пространства По-умолчанию, ширина таблицы вычисляется автоматически на основе содержимого таблицы

Пример HTML-кода с применением атрибутов тега <table>:

Результат с примером HTML-кода с применением атрибутов тега <table>:

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

Иногда для выполнения той или иной задачи, необходиомо изменить стиль конкретной строки в таблице, что реализуется применением атрибутов к тегу <tr>.

Атрибуты тега <tr>:

Атрибут Описание атрибута Значения атрибута Описание значения атрибута
align Задает выравнивание содержимого всех ячеек данной строки по-горизонтали left Выравнивает содрежимое ячеек по левому краю, значение по-умолчанию
center Выравнивает содрежимое ячеек строки по центру
right Выравнивает содрежимое ячеек строки по правому краю
justify Выравнивает содрежимое ячеек строки по-ширине (и по левому, и по правому краю ячейки)
bgcolor Устанавливает цвет фона ячеек строки Цвет по-умолчанию обычно белый
bordercolor Устанавливает цвет рамки ячеек строки Значение по-умолчанию зависит от установленного у пользователя браузера и операционной системы
valign Задает выравнивание содержимого всех ячеек данной строки по-вертикали top Выравнивает содрежимое ячеек по верхнему краю строки
middle Выравнивает содрежимое ячеек по середине строки, значение по-умолчанию
bottom Выравнивает содрежимое ячеек по нижнему краю строки

Пример HTML-кода с применением атрибутов тега <tr>:

Результат с примером HTML-кода с применением атрибутов тега <tr>:

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

Для изменения стилей конкретной ячейки, примененяются нижеперечисленные атрибуты к тегу <td>.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *