Добро пожаловать на русскоязычный раздел Справочной Gamepedia! Этот проект только ещё начинается, в нём сделана лишь мизерная часть того, чего требуется. Но он непременно будет развиваться. Если вы хотите помочь зарождающейся справочной — то смело включайтесь в дело!

Таблицы

Материал из Справочная Gamepedia
Перейти к: навигация, поиск

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

ПРИМЕЧАНИЕ:
Prof hydra.svg Как правило, лучше не использовать таблицу, если она вам не нужна. Разметка таблицы часто усложняет редактирование страницы.

Вики-разметка таблиц[править | править код]

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

Основы[править | править код]

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

Вы вводите Вы получаете
{|
|Монитор
|Мышь
|-
|Геймпад
|Клавиатура
|-
|Материнская плата
|Видеокарта
|}
Монитор Мышь
Геймпад Клавиатура
Материнская плата Видеокарта

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

Вы вводите Вы получаете
{|
|Монитор||Мышь||и т. д.
|-
|Геймпад||Клавиатура||и т. д.
|-
|Материнская плата||и<br/>||and<br/>и т. д.
|}
Монитор Мышь и т. д.
Геймпад Клавиатура и т. д.
Материнская плата и<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

Заголовки таблиц[править | править код]

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

Вы вводите Вы получаете
{|
! 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

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

Название таблицы[править | править код]

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

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

class="wikitable"[править | править код]

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

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

Атрибуты HTML colspan и rowspan[править | править код]

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

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

Атрибуты XHTML[править | править код]

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

Атрибуты для таблиц[править | править код]

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

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

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

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

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

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

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

Ширина границы[править | править код]

Если у атрибута "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" 
|
Привет
|}

Привет

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

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

С HTML атрибутами и стилями CSS[править | править код]

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

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

Атрибуты[править | править код]

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

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

Ширина столбца[править | править код]

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

{| 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% ширины экрана (и есть цвет фона)

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

Ячейки шапки таблицы явно не указывают к каким данным ячейки таблицы они применяются (к тем, что справа от них на той же строке; или к тем, что снизу в том же столбце). Когда таблица прорисовывается в визуальном 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

Выравнивание[править | править код]

Выравнивание таблицы[править | править код]

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

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

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

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

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

Обтекание таблицы текстом[править | править код]

Если таблица выравнивается по правой или левой стороне страницы, текст, что идёт после таблицы, начинается в конце этой таблицы, оставляя пустое пространство вокруг таблицы. Вы можете сделать так, чтобы текст обтекал вокруг таблицы, заставляя таблицу как бы плавать вокруг текста, вместо простого её выравнивания. Это достигается за счёт использования 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.

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

Выравнивание содержимого ячейки может управляться двумя разными 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

Предостережения[править | править код]

Отрицательные числа[править | править код]

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

CSS по сравнению с атрибутами[править | править код]

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

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

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