Codex

PmWikiRu /
Пожалуйста, экспериментируйте в песочнице!Директивы таблиц

(:table (attr...):)

Образует HTML тэг <table> с параметрами записаными в 'attr...'. Автоматически заканчивает предыдущую таблицу. Вот доступные атрибуты и их значения:

  • border=(положительное целое) -- толщина линий рамки
  • bordercolor=(имя цвета или шестнадцатиричное число (#rrggbb или #rgb)) -- цвет рамки
  • cellspacing=(положительное целое указывающее расстояние между ячейками)
  • cellpadding=(положительное целое указывающее размер внутренних полей ячейки)
  • width=(положительное целое или процент) -- ширина таблицы
  • bgcolor=(имя цвета или шестнадцатиричное число (#rrggbb или #rgb)) -- цвет фона
  • align=(left, center или right) -- выравнивание таблицы (влево, по центру или вправо)
  • summary=(не показывается; применяется в основном для помощи слепым людям)

(:cell (attr...):)

Образует новую ячейку с параметрами записаными в 'attr...'. Автоматически заканчивает предыдущую ячейку.

Примечание: Если поставить пробел сразу после директивы "(:cell:) ", то последующий текст на этой строке будет считаться предварительно отформатированым.

Поддерживаемые атрибуты и значения:

  • align (left, center или right) -- выравнивание (влево, по центру и вправо)
  • valign (top, middle или bottom) -- вертикальное выравнивание (сверху, по середине и снизу)
  • colspan (положительное целое) -- объединение колонок
  • rowspan (положительное целое) -- объедиение строк
  • bgcolor (имя цвета или шестнадцатиричное число (#rrggbb или #rgb)) -- цвет фона ячейки
  • width (положительное целое или процент) -- ширина ячейки

(:cellnr (attr..):)

Образует ячейку с новой строки Автоматически заканчивает предыдущую ячейку.

Поддерживаемые атрибуты и значения:

  • align (left, center или right) -- выравнивание (влево, по центру и вправо)
  • valign (top, middle или bottom) -- вертикальное выравнивание (сверху, по середине и снизу)
  • colspan (положительное целое) -- объединение колонок
  • rowspan (положительное целое) -- объедиение строк
  • bgcolor (имя цвета или шестнадцатиричное число (#rrggbb или #rgb)) -- цвет фона ячейки
  • width (положительное целое или процент) -- ширина ячейки

(:tableend:)

Завершает таблицу.

Примечания

В директивах table, cell и cellnr автор может указать атрибуты которые должны быть допустимы для тэгов <table> или <td>. Таким образом вы можете ввести rowspan, colspan и прочие аргументы для построения различных таблиц. Однако, невозможно вкладывать (:table:) в (:cell:) или (:cellnr:) -- этому будет дано объяснение ниже.

Меня часто спрашивают "почему бы просто не сделать обычную HTML разметку (<table>, <tr>, <td>, <th>) вместо своей собственной и не позволить вкладывать таблицы друг в друга?". Вот вам два ответа: Первый - HTML разметка очень сложна для простых авторов (см. Audiences и Философия); Второй - авторам будет очень просто делать некорректные HTML таблицы, которые и будут выглядеть неправильно в некоторых броузерах. Даже прожжёные профессионалы порой ошибаются, т.е. наивно полагать, что средний автор всегда будет делать их верно или захочет разбираться в накрученой HTML разметка таблиц, которую сделал кто-то другой.

Общий коментарий: Конечно, средний или простоватый автор не будет пользоваться HTML напрямую и для генерирования HTML кода скорее воспользуется каким-то инструментом вроде FrontPage или даже MSWord. Это может быть немного проще, чем изучать даже простейшую PmWiki разметку.
Ответ Pm: И теперь, когда HTML сгенерирован и вставлен, как кто-то ещё будет редактировать эту таблицу, если у него нет исходного FrontPage или MSWord файла использованого для её создания? Помните, что мы говорим о совместном авторстве. Сгенерированый HTML код труден для понимания и изменения!

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

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

Пример 1. Таблица использующая расширеную разметку.


(:table border=1 cellpadding=5 cellspacing=0:)
(:cell:) a1
(:cell:) b1
(:cell:) c1
(:cell:) d1
(:cellnr:) a2
(:cell:) b2
(:cell:) c2
(:cell:) d2
(:tableend:)
a1 b1 c1 d1
a2 b2 c2 d2

В HTML это будет выглядеть так:


Плавающие таблицы с маркированым списком ссылок

Навигационные ссылки

Что если вам захочется сделать небольшую табличку с содержанием вроде той, что видна справа от этого абзаца? В этом примере таблица "плавает" справа и содержит несколько ссылок в маркированом списке. Это неплохая демострация как можно делать небольшие таблицы содержания на страницах, которые могут указывать на другие страницы в группе. Обратите внимание, что маркированые спискы не работают в простых таблицах -- это пройдёт только внутри расширеных таблиц, таких как в примере.

(:table border=1 width=30% align=right bgcolor=#cccc99 cellspacing=0 :)
(:cellnr:)
'''Навигационные ссылки'''
(:cellnr:)
*[[Tables|+]]
*[[Table directives|+]]
(:tableend:)

Навигационные ссылки

(:table border=1 width=30% align=right bgcolor=#cccc99 cellspacing=0 :)
(:cellnr colspan=2 align=center:)
'''Навигационные ссылки'''
(:cellnr align=center:)
[[Tables]]
(:cell align=center:)
[[Table directives|+]]
(:tableend:)

Навигационные ссылки

Tables

Директивы таблиц

Рассматривая последний пример заметьте, что мы использовали шестнадцатеричный цвет #cccc99 для фона таблицы. Также (:cellnr:) делает новую строку, новую ячейку и завершает строку в конце.

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

<< Таблицы | Документация | ВикиСтили >>

Перевод страницы PmWiki.TableDirectives - Оригинал перевода PmWikiRu.TableDirectives - Links de retorno
PmWikiRu.TableDirectives: редакция от 10 de setembro de 2011, às 15:48
PmWiki.TableDirectives: редакция от 28 de fevereiro de 2014, às 09:16