Атрибуты АLIGN и VALIGN.


Задача

Создать таблицу и указать её параметры (поля и расстояние между ячейками) через стили.

Решение

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

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

с помощью тега

Можно задать фон для любого количества столбцов;

с помощью селектора table td:first-child , table td:last-child можно задать стили для первого или последнего столбца таблицы (за исключением первой ячейки заголовка таблицы);

с помощью селектора table td:nth-child(правило отбора столбцов) можно задать стили для любых столбцов таблицы.

Подробнее про CSS-селекторы вы сможете прочитать .

5. Как добавить таблице заголовок

Добавить заголовок в таблицу можно с помощью тега

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

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

HTML5 IE Cr Op Sa Fx

Тег table

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

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

Рис. 1. Результат создания таблицы с четырьмя ячейками

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

допустимо добавлять только с пустым значением (
) или равным 1. Все остальные значения не проходят валидацию.

Для управления полями внутри ячеек используется стилевое свойство padding , которое добавляется к селектору td . Расстояние между ячейками меняется свойством border-spacing (пример 2) добавляемым к селектору table , браузер IE понимает его только с версии 8.0.

Пример 2. Поля внутри ячеек

HTML5 CSS 2.1 IE Cr Op Sa Fx

Тег table

Заголовок 1Заголовок 2
Ячейка 3Ячейка 4

Таблица с полями и расстоянием между ячейками показана на рис. 2. Аналогичного результата можно добиться и с помощью рамки белого цвета вокруг ячеек.

Рис. 2. Поля в ячейках таблицы

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

Таблицы HTML создаются в четыре этапа.

На первом этапе в HTML-коде с помощью парного тега

формируют саму таблицу:

Таблица HTML представляет собой блочный элемент Web-страницы. Это значит, что она размещается отдельно от всех остальных блочных элементов: абзацев, заголовков, больших цитат, аудио- и видеороликов. Так что вставить таблицу в абзац мы не сможем. (Нужно сказать, что таблица в абзаце выглядела бы, по меньшей мере, странно…)

На втором этапе формируют строки таблицы. Для этого предусмотрены парные теги

; каждый такой тег создает отдельную строку. Теги помещают внутрь тега
(листинг 5.1).

Листинг 5.1

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

, создающие строки таблицы, в которых должны находиться эти ячейки (листинг 5.2).

Листинг 5.2

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

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

Еще мы можем поместить в ячейку графическое изображение:

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

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

Листинг 5.3

Столбец 1 Столбец 2 Столбец 3 Ячейка 1.1 Ячейка 1.2 Ячейка 1.3 Ячейка 2.1 Ячейка 2.2 Ячейка 2.3 или (как показано в листинге 5.3). При этом заключать его в теги, создающие блочные элементы, необязательно.

Если нам потребуется как-то оформить содержимое ячеек, мы применим изученные в главе 3 теги. Например, мы можем придать номерам ячеек особую важность, воспользовавшись тегом ; в результате они будут выведены курсивом (Листинг 5.4).

Листинг 5.4

Ячейка 1.1 Ячейка 1.2 Ячейка 1.3 и это позволяют (листинг 5.5).

Листинг 5.5

Это большой текст

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

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

А это долгожданное окончание большого текста.

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

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

Теперь настала пора рассмотреть правила, которыми руководствуются Web-обозреватели при выводе таблиц на экран.

Таблица представляет собой блочный элемент Web-страницы (об этом мы уже говорили).

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

Между границами отдельных ячеек и между границей каждой ячейки и ее содержимым делается небольшой отступ.

Текст ячеек заголовка выводится полужирным шрифтом и выравнивается по центру.

Рамки вокруг всей таблицы и вокруг отдельных ее ячеек не рисуются.

Таблица - всего лишь содержимое Web-страницы, а за ее вывод "отвечает" представление. (Подробнее о содержимом и представлении Web-страницы см. в главе 1 .) Если нам нужно, например, вывести вокруг таблицы рамку, мы сможем создать соответствующее представление. Этим мы и займемся в части II .

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

Тег

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

Теги

. Любое другое содержимое тега будет проигнорировано.

Содержимое таблицы может находиться только в тегах

The HTML

и могут находиться только внутри тега
и .

Ячейки таблицы должны иметь хоть какие-то содержимое, иначе Web- обозреватель может их вообще не отобразить. Если же какая-то ячейка должна быть пустой, в нее следует поместить неразрывный пробел (HTML-литерал).

Все, с теорией покончено. Настала пора практики. Давайте поместим на Web- страницу index.htm таблицу, перечисляющую все версии языка HTML с указанием года выхода. Вставим ее после цитаты из Википедии и отделяющей ее горизонтальной линии.

Листинг 5.6 содержит фрагмент HTML-кода Web-страницы index.htm, создающий такую таблицу.

Листинг 5.6

Пожалуй, ни убавить ни прибавить…

Список версий HTML:

Версия HTML Год выхода Особенности 1.0 1992 Официально не была стандартизована
tag is used for defining a table. The
tag contains other tags that define the structure of the table.

Table Elements

Tables consist of the

element as well as other table-related elements. These other elements are nested inside the
tags to determine how the table is constructed.

The

element can contain the following elements (and in this order):

  1. optionally a tag
  2. followed by zero or more tags
  3. followed optionally by a tag
  4. followed optionally by a tag
  5. followed by either zero or more tags or one or more tags
  6. followed optionally by a tag (but there can only be one tag child in total)
  7. optionally intermixed with one or more script-supporting elements (i.e. either tag or ) tag

Global Attributes

The following attributes are standard across all HTML 5 tags.

  • accesskey
  • class
  • contenteditable
  • contextmenu
  • draggable
  • dropzone
  • hidden
  • itemid
  • itemprop
  • itemref
  • itemscope
  • itemtype
  • spellcheck
  • style
  • tabindex
  • title
  • translate

Event Handler Content Attributes

Event handler content attributes enable you to invoke a script from within your HTML. The script is invoked when a certain "event" occurs. Each event handler content attribute deals with a different event.

Here are the standard HTML 5 event handler content attributes.

  • onabort
  • oncancel
  • onblur
  • oncanplay
  • oncanplaythrough
  • onchange
  • onclick
  • oncontextmenu
  • ondblclick
  • ondrag
  • ondragend
  • ondragenter
  • ondragexit
  • ondragleave
  • ondragover
  • ondragstart
  • ondrop
  • ondurationchange
  • onemptied
  • onended
  • onerror
  • onfocus
  • onformchange
  • onforminput
  • oninput
  • oninvalid
  • onkeydown
  • onkeypress
  • onkeyup
  • onload
  • onloadeddata
  • onloadedmetadata
  • onloadstart
  • onmousedown
  • onmousemove
  • onmouseout
  • onmouseover
  • onmouseup
  • onmousewheel
  • onpause
  • onplay
  • onplaying
  • onprogress
  • onratechange
  • onreadystatechange
  • onscroll
  • onseeked
  • onseeking
  • onselect
  • onshow
  • onstalled
  • onsubmit
  • onsuspend
  • ontimeupdate
  • onvolumechange
  • onwaiting

For a full explanation of these attributes, see .

Working with tables in HTML5 has become more powerful due to the new HTML5 table tags and other elements available in HTML5. This tutorial will show you how to create and format your own tables using HTML5 table tags and elements. If you need to get your HTML5 skills up to speed in a hurry, check out the acclaimed HTML5 Beginners Crash Course and join thousands of students who are learning to harness the power of the new HTML5 tags. This course contains 46 lectures designed to turn beginners into competent web developers. The lessons start with HTML for newcomers, and the lessons will teach you all the tags and HTML elements you need to know to create your own HTML5 webpages. The course also covers how to use the HTML canvas and drawing elements. There are also lectures on geolocation, local storage and forms and will also includes lessons on how to add audio and video to your webpages. Let’s move on to table creation.

HTML5 Tables

Tables are not new to HTML but there are a few new tags available in HTML5. To define a table in HTML you need to use the

tag. Tables are divided into rows using the tag. To define the cells in the table you need to use the tag.

The

tag must appear within the table it is being used to format. The span element within the tag can be used to span multiple columns. If no span element is defined, the formatting will be applied to a single column. All HTML formatting attributes can be used for formatting purposes. For our table we will use the background color attribute to format background color of the various columns.

Take a look at the code below:

tag.

Tables can contain column elements, row elements, headers, footers and other elements. This tutorial will show you how to use the various table tags to define these elements and how to format the elements using style sheet options.

HTML5 Table Creation

Here is the code necessary to create your table:

JackSales555-5555
John Admin 555-5555
James Sales 555-5555

The table will be displayed as follows:

Note that HTML defaults to no borders unless you specify a border for the table. To specify borders for your table, you need to add the border element to your table tag:

The table will then look like this:

HTML5 Tables – Adding Headers and Footers

You can use the following tabs to create and format the headers and footers for your table:

– This element tag can be used to group content as the header of a table for formatting purposes
  • The
  • tag can be used to group table content to format it as the body of the table
  • – set to group footer information for your table for formatting purposes.

    Cells formatted using the

    , and tags. In this tutorial, we will use the color attribute to format the various elements of the table in different colors. We will set the header as green, the body as blue and the footer as red for this tutorial.

    Take a look at the following code:

    – used to denote a table header cell – th stands for table header
  • tag will be centered and the text will be bold. Table elements defined using the body tag will be left aligned and the text will be normal.

    All HTML5 attributes can be used to format the table using the

    Name Surname Telephone
    Jack Sales 555-5555
    John Admin 555-5555
    James Sales 555-5555
    Total Total Total

    The table will look like this on your page:

    Note that the Name, Surname and Telephone cells are all center aligned and bold because of the use of the

    tag.

    If you would like to learn more about HTML5 tags, try enrolling in the HTML5 Fundamentals course. This course offers 43 lessons that include all of the HTML fundamentals you need to know to create your own webpages. You will learn to work with text elements and how to format any text elements. The course will teach you how to create lists and links using HTML5. You will learn to work with tables and images and you will learn website basics to ensure your websites work on various browsers.

    HTML5 Tables – Formatting Columns

    The column group tag allows you to specify formatting to columns within your table. If you want to add specific formatting to columns in your table then you can specify the elements and formats using the

    Name Surname Telephone
    Jack Sales 555-5555
    John Admin 555-5555
    James Sales 555-5555
    Total Total Total

    This is what the table will look like:

    HTML5 Tables are Easy

    Tables are often a great way to present your data. The HTML5 tags make table creation and formatting really simple.

    If you are eager to learn how to take advantage of the new HTML5 tags, then sign up to Learn HTML 5 today. This course offers 44 lectures that will teach you all about the HTML building blocks needed to create a page in HTML5. You will learn about the commonly used HTML tags and how to use them in your development. The course will teach you how to create forms and use the form tags. You will learn how to style HTML. Once you are familiar with HTML basics, the course will teach you about advanced HTML concepts like scripting and handling events. The course will help you create responsive, interactive websites using HTML5.

    Спецификация CSS даёт неограниченные возможности для оформления таблиц. По умолчанию таблица и ячейки таблицы не имеют видимых границ и фона, при этом ячейки внутри таблицы не прилегают вплотную друг к другу.

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

    Форматирование таблиц

    1. Границы таблицы border

    Таблица и ячейки внутри неё по-умолчанию отображаются в браузере без видимых границ. Границы таблицы задаются свойством border:

    Table { border-collapse: collapse; /*убираем пустые промежутки между ячейками*/ border: 1px solid grey; /*устанавливаем для таблицы внешнюю границу серого цвета толщиной 1px*/ }

    Границы ячеек заголовка каждого столбца задаются для элемента th:

    Th {border: 1px solid grey;}

    Границы ячеек тела таблицы задаются для элемента td:

    Td {border: 1px solid grey;}

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

    Th, td {border: 1px solid grey;}

    Внешнюю границу таблицы можно выделить, задав ей увеличенную ширину:

    Table {border: 3px solid grey;}

    Границы можно задавать частично:

    /* устанавливаем для таблицы внешнюю границу серого цвета толщиной 3px */ table {border-top: 3px solid grey; } /* задаём для ячейки тела таблицы границу серого цвета толщиной 1px */ td {border-bottom: 1px solid grey;}

    Подробнее о свойстве border вы можете прочитать .

    2. Как задать ширину и высоту таблицы

    По умолчанию ширина и высота таблицы определяется содержимым её ячеек. Если ширина не задана, то она будет равна ширине самого широкого ряда (строки).

    Ширина таблицы и столбцов задаётся с помощью свойства width . Если для таблицы задано table {width: 100%;} , то ширина таблицы будет равна ширине блока-контейнера, в котором она находится.

    Ширину таблицы и столбцов обычно задают в px или % , например:

    Table {width: 600px;} th {width: 20%;} td:first-child {width: 30%;}

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

    и . Фиксировать высоту с помощью свойства height не рекомендуется.

    Th, td {padding: 10px 15px;}

    3. Как задать фон таблицы

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

    4. Столбцы таблицы

    Модель CSS таблиц ориентирована в основном на строки (ряды), формируемые с помощью тега

    , а с помощью свойства caption-side его можно поместить перед таблицей или под ней. Для горизонтального выравнивания текста заголовка применяется свойство text-align . Наследуется.

    ...
    Таблица № 1
    Company Q1 Q2 Q3 Q4
    caption { caption-side: bottom; text-align: right; padding: 10px 0; font-size: 14px; } Рис. 2. Пример отображения заголовка под таблицей

    6. Как убрать промежуток между рамками ячеек

    Рамки ячеек таблицы по умолчанию разделены небольшим промежутком. Если задать для таблицы border-collapse: collapse , то промежуток уберётся. Свойство наследуется.

    Синтаксис

    Table {border-collapse: collapse;}
    Рис. 3. Пример таблиц со сливающимися и раздельными рамками ячеек

    7. Как увеличить промежуток между рамками ячеек

    С помощью свойства border-spacing можно менять расстояние между рамками ячеек. Данное свойство применяется к таблице в целом. Наследуется.

    Синтаксис

    Table {border-collapse: separate; border-spacing: 10px 20px;} table {border-collapse: separate; border-spacing: 10px;} Рис. 4. Пример таблиц с увеличенными промежутками между рамками ячеек

    8. Как скрыть пустые ячейки таблицы

    Свойство empty-cells скрывает или показывает пустые ячейки. Действует только на ячейки, которые не содержат какой-либо контент. Если для ячейки задан фон, а для таблицы задано table {border-collapse: collapse;} , то ячейка не будет скрыта. Наследуется.

    Company Q1 Q2 Q3
    Microsoft 20.3 30.5
    Google 50.2 40.63 45.23
    table { border: 1px solid #69c; border-collapse: separate; empty-cells: hide; } th, td {border: 2px solid #69c;} Рис. 5. Пример скрытия пустой ячейки таблицы

    9. Компоновка макета таблицы с помощью свойства table-layout

    Компоновка макета таблицы определяется одним из двух подходов: фиксированный макет или автоматический макет. Под компоновкой в данном случае подразумевается как распределяется ширина таблицы между шириной ячеек. Свойство не наследуется.

    Синтаксис

    Table {table-layout: fixed;}

    10. Лучшие макеты таблиц

    1. Горизонтальный минимализм

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

    EmployeeSalaryBonusSupervisor
    Stephen C. Cox$300$50Bob
    Josephin Tan$150-Annie
    Joyce Ming$200$35Andy
    James A. Pentel$175$25Annie
    table { font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif; font-size: 14px; background: white; max-width: 70%; width: 70%; border-collapse: collapse; text-align: left; } th { font-weight: normal; color: #039; border-bottom: 2px solid #6678b1; padding: 10px 8px; } td { color: #669; padding: 9px 8px; transition: .3s linear; } tr:hover td {color: #6699ff;}

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

    Td { border-bottom: 1px solid #ccc; color: #669; padding: 9px 8px; transition: .3s linear; }/*остальной код - как в примере выше*/

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

    Th { font-weight: normal; color: #039; padding: 10px 15px; } td { color: #669; border-top: 1px solid #e8edff; padding: 10px 15px; } tr:hover td {background: #e8edff;}

    2. Вертикальный минимализм

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

    Th { font-weight: normal; border-bottom: 2px solid #6678b1; border-right: 30px solid #fff; border-left: 30px solid #fff; color: #039; padding: 8px 2px; } td { border-right: 30px solid #fff; border-left: 30px solid #fff; color: #669; padding: 12px 2px; }

    3. «Коробочный» стиль

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

    Th { font-size: 13px; font-weight: normal; background: #b9c9fe; border-top: 4px solid #aabcfe; border-bottom: 1px solid #fff; color: #039; padding: 8px; } td { background: #e8edff; border-bottom: 1px solid #fff; color: #669; border-top: 1px solid transparent; padding: 8px; } tr:hover td {background: #ccddff;}

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

    Table { font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif; font-size: 14px; max-width: 70%; width: 70%; text-align: center; border-collapse: collapse; border-top: 7px solid #9baff1; border-bottom: 7px solid #9baff1; } th { font-size: 13px; font-weight: normal; background: #e8edff; border-right: 1px solid #9baff1; border-left: 1px solid #9baff1; color: #039; padding: 8px; } td { background: #e8edff; border-right: 1px solid #aabcfe; border-left: 1px solid #aabcfe; color: #669; padding: 8px; }

    4. Горизонтальная зебра

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

    Th { font-weight: normal; color: #039; padding: 10px 15px; } td { color: #669; border-top: 1px solid #e8edff; padding: 10px 15px; } tr:nth-child(2n) {background: #e8edff;}

    5. Газетный стиль

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

    Table {border: 1px solid #69c;} th { font-weight: normal; color: #039; border-bottom: 1px dashed #69c; padding: 12px 17px; } td { color: #669; padding: 7px 17px; } tr:hover td {background: #ccddff;}

    Table {border: 1px solid #69c;} th { font-weight: normal; color: #039; padding: 10px; } td { color: #669; border-top: 1px dashed #fff; padding: 10px; background:#ccddff; } tr:hover td {background: #99bcff;}

    Table {border: 1px solid #6cf;} th { font-weight: normal; font-size: 13px; color: #039; text-transform: uppercase; border-right: 1px solid #0865c2; border-top: 1px solid #0865c2; border-left: 1px solid #0865c2; border-bottom: 1px solid #fff; padding: 20px; } td { color: #669; border-right: 1px dashed #6cf; padding: 10px 20px; }

    6. Фон таблицы

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

    Jpg") no-repeat; background-position: 100% 55px; } th { font-weight: normal; color: #339; padding: 10px 12px; } td { background: url("https://сайт/images/back..png"); background: transparent; }





    

    2024 © gtavrl.ru.