Help:Таблицы

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Help:Tables and the translation is 100% complete.

Other languages:
العربية • ‎català • ‎Deutsch • ‎Zazaki • ‎English • ‎British English • ‎Esperanto • ‎español • ‎suomi • ‎français • ‎Հայերեն • ‎Bahasa Indonesia • ‎italiano • ‎日本語 • ‎한국어 • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎русский • ‎slovenčina • ‎Tiếng Việt • ‎中文
PD Внимание: Когда вы редактируете эту страницу, вы соглашаетесь на передачу своего вклада по лицензии CC0. Узнать об этом подробнее можно на странице справки.
PD
Чтобы узнать о структуре таблиц базы данных MediaWiki, см. Руководство:Макет базы данныхManual:Database layout

В вики-страницах могут быть созданы таблицы. Как правило, следует избегать создания таблиц, если только без них совершенно нельзя обойтись. Поскольку разметка таблиц усложняет редактирование страницы.[1]

Вики-разметка таблиц[edit]

{| начало таблицы, обязательное
|+ заголовок таблицы, необязателен; может находиться только между началом таблицы и первой строкой таблицы
|- строка таблицы, в первой строке необязательно — вики-движок сам подставит первую строку
! ячейка заголовка таблицы, необязательно. Идущие подряд ячейки заголовка таблицы могут быть указаны в одной строке, разделённые двойным маркером (!!), или начинаться с новой строки с одиночным маркером (!).
| ячейка данных, необязательно. Идущие подряд ячейки данных могут быть указаны на одной строке, разделённые двойным маркером (||), или начинаться каждый с новой строки, предваряемые одиночным маркером (|).
|} конец таблицы, обязательное
  • вышеприведённые знаки должны начинаться с новой строки, кроме двойных || и !! для последовательных ячеек в строке. Тем не менее, пробелы в начале строки игнорируются.
  • атрибуты XHTML. Каждый знак разметки, кроме конца таблицы, может иметь при себе один или несколько атрибутов XHTML. Атрибуты должны быть на той же строке, что и знаки разметки. Атрибуты следует разделять друг от друга одиночным пробелом.
    • У ячеек и заголовка (| или ||, ! или !!, и |+) есть содержимое. Поэтому содержимое от атрибутов тэга нужно отделять вертикальной чертой (|). Содержимое может располагаться в той же строке или в следующих строках.
    • Маркеры таблицы и строк ({| и |-) напрямую не содержат контента. Не добавляйте разделитель в виде вертикальной черты (|) после их необязательных атрибутов. Если вы добавите его по ошибке к маркеру таблицы или строки, парсер удалит его и атрибут может присоединиться к неверному маркеру.
  • Содержимое может располагаться (а) за знаком ячейки в той же строке после необязательных XHTML атрибутов или (б) на строках под знаком ячейки. Содержимое, использующее вики-разметку, которая должна сама начинаться с новой строки, например, списки, заголовки или вложенные таблицы, разумеется, должно начинаться с новой строки.
    • Вертикальная черта в качестве символа. Для того, чтобы вставить вертикальную черту (|) в качестве символа в таблицу, используйте экранирование <nowiki>|</nowiki>.

Основы[edit]

В нижеприведенной таблице нет границ и правильной разбивки, она демонстрирует простейшую табличную структуру с вики-разметкой.

Вы вводите Вы получаете
{|
|Апельсин
|Яблоко
|-
|Хлеб
|Пирог
|-
|Масло
|Мороженое 
|}
Апельсин Яблоко
Хлеб Пирог
Масло Мороженое

Ячейки в одной строке могут быть размещены на одной линии, разделённые знаками || (два символа-разделителя). Если текст в ячейке должен содержать разрыв строки, используйте вместо разрыва <br />.

Вы вводите Вы получаете
{|
|Апельсин||Яблоко||и т. д.
|-
|Хлеб||Пирог||и т. д.
|-
|Масло||Мороженое||и <br /> т. д.
|}
Апельсин Яблоко и т. д.
Хлеб Пирог и т. д.
Масло Моро
женое
и
т. д.

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

Вы вводите Вы получаете
{|
|  Апельсин || Яблоко || и т. д.
|-
|   Хлеб || Булка || и т. д.
|-
|   Масло || Мороженое || и т. д.
|}
Апельсин Яблоко и т. д.
Хлеб Пирог и т. д.
Масло Мороженое и т. д.

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

Вы вводите Вы получаете
{|
|Lorem ipsum dolor sit amet, 
consetetur sadipscing elitr, 
sed diam nonumy eirmod tempor invidunt
ut labore et dolore magna aliquyam erat, 
sed diam voluptua. 

At vero eos et accusam et justo duo dolores
et ea rebum. Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum
dolor sit amet. 
|
* Lorem ipsum dolor sit amet
* consetetur sadipscing elitr
* sed diam nonumy eirmod tempor invidunt
|}
Lorem ipsum dolor sit amet,

consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

  • Lorem ipsum dolor sit amet
  • consetetur sadipscing elitr
  • sed diam nonumy eirmod tempor invidunt

Заголовки таблиц[edit]

Заголовки таблиц можно создать, используя "!" (восклицательный знак) вместо "|" (вертикальной черты). Заголовки по умолчанию показываются обычно жирными и отцентрированными.

Вы вводите Вы получаете
{|
! style="text-align:left;"| Предмет
! Количество
! Цена
|-
|Апельсин
|10
|7.00
|-
|Хлеб
|4
|3.00
|-
|Масло
|1
|5.00
|-
!Всего
|
|15.00
|}
Предмет Количество Цена
Апельсин 10 7.00
Хлеб 4 3.00
Масло 1 5.00
Всего 15.00

Замечание: При использовании атрибутов, как в заголовке 'Предмет', нужна вертикальная черта '|' для разделения. Но не восклицательный знак '!'.

Название таблицы[edit]

Над таблицей может быть размещено её название, как показано ниже.

Вы вводите Вы получаете
{|
|+Комплект продуктов
|-
|Апельсин
|Яблоко
|-
|Хлеб
|Пирог
|-
|Масло
|Мороженое 
|}
Комплект продуктов
Апельсин Яблоко
Хлеб Пирог
Масло Мороженое

class="wikitable"[edit]

Основной стиль (светло-серый фон, границы, отступ и выравнивание слева) можно получить, добавив class="wikitable".

Вы вводите Вы получаете
{| class="wikitable"
|+Комплект продуктов
|-
|Апельсин
|Яблоко
|-
|Хлеб
|Пирог
|-
|Масло
|Мороженое 
|}
Комплект продуктов
Апельсин Яблоко
Хлеб Пирог
Масло Мороженое

Атрибуты HTML colspan и rowspan[edit]

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

Вы вводите Вы получаете
{| class="wikitable"
!colspan="6"|Список покупок
|-
|rowspan="2"|Хлеб и масло
|Пирог
|Плюшки
|Слойка
|colspan="2"|Круассан
|-
|Сыр
|colspan="2"|Мороженое
|Масло
|Йогурт
|}
Список покупок
Хлеб и масло Пирог Плюшки Слойка Круассан
Сыр Мороженое Масло Йогурт

Атрибуты XHTML[edit]

В таблицы вы можете добавлять атрибуты XHTML. В качестве официального источника по ним см., страницу спецификации W3C HTML-таблиц.

Атрибуты для таблиц[edit]

Помещая атрибуты после начального тэга таблицы ({|) применяет атрибуты ко всей таблице.

Вы вводите Вы получаете
{| class="wikitable" style="text-align: center; color: green;"
|Апельсин
|Яблоко
|12,333.00
|-
|Хлеб
|Пирог
|500.00
|-
|Масло
|Мороженое
|1.00
|}
Апельсин Яблоко 12,333.00
Хлеб Пирог 500.00
Масло Мороженое 1.00

Атрибуты для ячеек[edit]

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

Вы вводите Вы получаете
{| class="wikitable"
| Апельсин
| Яблоко
| style="text-align:right;" | 12,333.00
|-
| Хлеб
| Булка
| style="text-align:right;" | 500.00
|-
| Масло
| Мороженое
| style="text-align:right;" | 1.00
|}
Апельсин Яблоко 12,333.00
Хлеб Пирог 500.00
Масло Мороженое 1.00

Также можно использовать атрибуты ячейки, когда вы размещаете несколько ячеек в одной строке. Обратите внимание, что ячейки разделены ||, а внутри каждой ячейки атрибут(ы) и значение разделены |.

Вы вводите Вы получаете
{| class="wikitable"
| Апельсин || Яблоко     || style="text-align:right;" | 12,333.00
|-
| Хлеб || Пирог       || style="text-align:right;" | 500.00
|-
| Масло || Мороженое || style="text-align:right;" | 1.00
|}
Апельсин Яблоко 12,333.00
Хлеб Пирог 500.00
Масло Мороженое 1.00

Атрибуты для строк[edit]

Для строки тоже можно использовать атрибуты.

Вы вводите Вы получаете
{| class="wikitable"
| Апельсин
| Яблоко
| style="text-align:right;"| 12,333.00
|-
| Хлеб
| Пирог
| style="text-align:right;"| 500.00
|- style="font-style: italic; color: green;"
| Масло
| Мороженое
| style="text-align:right;"| 1.00
|}
Апельсин Яблоко 12,333.00
Хлеб Пирог 500.00
Масло Мороженое 1.00

Простая граница таблицы в 1 пиксель[edit]

Пример однопиксельной табличной границы:

Вы вводите Вы получаете
{| border="1" style="border-collapse:collapse"
| Апельсин
| Яблоко
|-
| Хлеб
| Пирог
|}
Апельсин Яблоко
Хлеб Пирог

Ширина границы[edit]

Если у атрибута "border-width:" только одно число, он применяется ко всем четырем сторонам границы:

Вы вводите Вы получаете
{|style="border-style: solid; border-width: 20px"
|
Привет
|}

Привет

Если у атрибута "border-width:" более одного числа, четыре цифры соответствуют сверху, справа, снизу, снизу (ЗАПОМНИТЕ этот порядок):

Вы вводите Вы получаете
{|style="border-style: solid; border-width: 10px 20px 100px 0"
|
Привет
|}

Привет

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

Другой метод задать ширину четырёх сторон ячейки - использовать атрибуты "border-left", "border-right", "border-top" и "border-bottom":

Вы вводите Вы получаете
{|style="border-left:solid 10px black;border-right:solid 20px black;border-top:solid 30px black;border-bottom:solid 40px black;" align="center" 
|
Привет
|}

Привет

Замечание Замечание:

  • HTML атрибуты (такие как "width=", "border=", "cellspacing=", "cellpadding=") не нуждаются в единицах длины (здесь предполагаются пиксели). Они также недействительны в HTML 5.

Свойства стиля CSS (которые отменяет действия атрибутов HTML) требуют явную единицу длины (если значение не равно нулю), например "px" для пикселя.

С HTML атрибутами и стилями CSS[edit]

Атрибуты стиля CSS можно использовать вместе с другими HTML атрибутами или отдельно.

Вы вводите Вы получаете
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="10"
|Апельсин
|Яблоко
|-
|Хлеб
|Пирог
|-
|Масло
|Мороженое 
|}
Апельсин Яблоко
Хлеб Пирог
Масло Мороженое

Атрибуты[edit]

Атрибуты можно добавлять в заголовки и названия как показано ниже.

Вы вводите Вы получаете
{| class="wikitable"
|+ style="caption-side:bottom; color:#e76700;"|''Комплект продуктов''
|-
|Апельсин
|Яблоко
|-
|Хлеб
|Пирог
|-
|Масло
|Мороженое 
|}
Комплект продуктов
Апельсин Яблоко
Хлеб Пирог
Масло Мороженое

Ширина столбца[edit]

Ширину столбца можно задать следующим образом:

Вы вводите:

{| style="color: black; background-color: #ffffcc; width: 85%;"
| colspan="2" | Ширина этого столбца составляет 85% ширины экрана (и есть цвет фона)
|-
| style="width: 30%; background-color: white;"|
'''Этот столбец составляет 30% из 85% ширины экрана'''
| style="width: 70%; background-color: orange;"|
'''Этот столбец составляет 70% из 85% ширины экрана (и есть цвет фона)'''
|}

Вы получаете:

Ширина этого столбца составляет 85% ширины экрана (и есть цвет фона)
Этот столбец составляет 30% из 85% ширины экрана Этот столбец составляет 70% из 85% ширины экрана (и есть цвет фона)

Доступность ячеек шапки таблицы[edit]

Ячейки шапки таблицы явно не указывают к каким данным ячейки таблицы они применяются (к тем, что справа от них на той же строке; или к тем, что снизу в том же столбце). Когда таблица прорисовывается в визуальном 2D окружении, то при этом обычно легко сделать выводы.

Однако, когда таблицы воспроизводятся на невизуальных медиа, вы можете помочь браузеру определить, к какой ячейки шапки таблицы применяется описание любой выделенной ячейки (для того, чтобы повторить её содержание с каким-нибудь помощником), использовав атрибуты scope="row" или scope="col" на ячейках шапки таблицы. В большинстве случаев с простыми таблицами вы будете использовать scope="col" на всех ячейках заголовка первой строки, и scope="row" на первой ячейке следующих строк:

Вы вводите Вы получаете
{| class="wikitable"
|-
! scope="col"| Предмет
! scope="col"| Количество
! scope="col"| Стоимость
|-
! scope="row"| Хлеб
| 0.3 kg
| $0.65
|-
! scope="row"| Масло
| 0.125 kg
| $1.25
|-
! scope="row" colspan="2"| Всего
| $1.90
|}
Предмет Количество Стоимость
Хлеб 0.3 kg $0.65
Масло 0.125 kg $1.25
Всего $1.90

Выравнивание[edit]

Выравнивание таблицы[edit]

Выравнивание таблицы достигается с использованием CSS. Выравнивание таблицы контролируется с помощью полей. Фиксированное поле на одной стороне сделает таблицу выравненной по этой стороне, если на противоположной стороне поле задано как auto. Чтобы выравнять таблицу по центру, следует выставить оба поля на auto.

Для примера, таблица с выравниванием по правому краю:

Вы вводите Вы получаете
{| class="wikitable" style="margin-left: auto; margin-right: 0px;"
| Апельсин
| Яблоко
|-
| Хлеб
| Пирог
|-
| Масло
| Мороженое 
|}
Апельсин Яблоко
Хлеб Пирог
Масло Мороженое

И таблица с выравниванием по центру:

Вы вводите Вы получаете
{| class="wikitable" style="margin: auto;"
| Апельсин
| Яблоко
|-
| Хлеб
| Пирог
|-
| Масло
| Мороженое 
|}
Апельсин Яблоко
Хлеб Пирог
Масло Мороженое

Обтекание таблицы текстом[edit]

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

Вы вводите Вы получаете
{| class="wikitable" style="float:right; margin-left: 10px;"
| Апельсин
| Яблоко
|-
| Хлеб
| Пирог
|-
| Масло
| Мороженое 
|}

Lorem ipsum dolor sit amet, consectetuer adipiscing 
elit, sed diam nonummy nibh euismod tincidunt ut 
laoreet dolore magna aliquam erat volutpat. Ut wisi 
enim ad minim veniam, quis nostrud exerci tation 
ullamcorper suscipit lobortis nisl ut aliquip ex ea 
commodo consequat. Duis autem vel eum iriure dolor 
in hendrerit in vulputate velit esse molestie consequat, 
vel illum dolore eu feugiat nulla facilisis at vero 
eros et accumsan et iusto odio dignissim qui blandit 
praesent luptatum zzril delenit augue duis dolore te 
feugait nulla facilisi.
Апельсин Яблоко
Хлеб Пирог
Масло Мороженое

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.

Выравнивание содержимого ячейки[edit]

Выравнивание содержимого ячейки может управляться двумя разными CSS-свойствами: text-align и vertical-align. text-align можно указать в таблице, строке или отдельных ячейках, тогда как vertical-align можно задать только отдельным строкам или ячейкам.

Вы вводите Вы получаете
{| class="wikitable"
|- style="vertical-align:top;"
| style="height:100px; width:100px; text-align:left;" | A
| style="height:100px; width:100px; text-align:center;" | B
| style="height:100px; width:100px; text-align:right;" | C
|- style="vertical-align:middle;"
| style="height:100px; width:100px; text-align:left;" | D
| style="height:100px; width:100px; text-align:center;" | E
| style="height:100px; width:100px; text-align:right;" | F
|- style="vertical-align:bottom;"
| style="height:100px; width:100px; text-align:left;" | G
| style="height:100px; width:100px; text-align:center;" | H
| style="height:100px; width:100px; text-align:right;" | I
|}
A B C
D E F
G H I

Предостережения[edit]

Отрицательные числа[edit]

Если ячейка начинается с новой строки с отрицательного числа со знаком минус (или параметра, который оценивается как отрицательное число), это может поломать таблицу, потому что символы |- воспринимаются вики как начало новой строки в таблице, а не новой ячейки. Чтобы избежать такой проблемы, ставьте пробел перед минусом (| -6) или воспользуйтесь внутристроковой разметкой ячейки (||-6).

CSS по сравнению с атрибутами[edit]

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

Общие атрибуты столбцов, групп столбцов и групп строк[edit]

Синтаксис MediaWiki для таблиц на данный момент не предлагает поддержку для указания общих атрибутов для столбцов (элемента HTML <col />), групп столбцов (HTML элемент <colgroup></colgroup>) и групп строк (HTML элементы <thead></thead>, <tbody></tbody> и <tfoot></tfoot>). Указанные стандартные элементы HTML не принимаются даже с использованием синтаксиса HTML или XHTML.

Все строки и ячейки (шапки или данных) таблицы воспроизводятся внутри одной скрытой группе строк (HTML элемент <tbody></tbody>) без каких-либо атрибутов или стилей.

См. также[edit]

Примечания[edit]

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