Директивы таблиц
Пожалуйста, экспериментируйте в песочнице!
(:table (attr...):)
Образует HTML тэг <table> с параметрами записанными в 'attr...'
.
Автоматически заканчивает предыдущую таблицу.
Вот доступные атрибуты и их значения:
- border=(положительное целое) -- толщина линий рамки
- bordercolor=(имя цвета или шестнадцатеричные число (#rrggbb или #rgb)) -- цвет рамки
- cellspacing=(положительное целое указывающее расстояние между ячейками)
- cellpadding=(положительное целое указывающее размер внутренних полей ячейки)
- width=(положительное целое или процент) -- ширина таблицы
- bgcolor=(имя цвета или шестнадцатеричные число (#rrggbb или #rgb)) -- цвет фона
- align=(left, center или right) -- выравнивание таблицы (влево, по центру или вправо)
- summary=(не показывается; применяется в основном для помощи слепым людям)
(:cell (attr...):)
Образует новую ячейку с параметрами записанными в 'attr...'
.
Автоматически заканчивает предыдущую ячейку.
Поддерживаемые атрибуты и значения:
- 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 разметка таблиц, которую сделал кто-то другой.
Довольно трудно написать программу для понятной и гибкой разметки таблиц, так что 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:) | ||||||||
|
В HTML это будет выглядеть так:
<table border='1' cellpadding='5' cellspacing='0'> <tr> <td>a1</td> <td>b1</td> <td>c1</td> <td>d1</td> </tr> <tr> <td>a2</td> <td>b2</td> <td>c2</td> <td>d2</td> </tr> </table>
Плавающие таблицы с маркированым списком ссылок
Навигационные ссылки |
Что если вам захочется сделать небольшую табличку с содержанием вроде той, что видна справа от этого абзаца? В этом примере таблица "плавает" справа и содержит несколько ссылок в маркированном списке. Это неплохая демонстрация как можно делать небольшие таблицы содержания на страницах, которые могут указывать на другие страницы в группе. Обратите внимание, что маркированные список не работают в простых таблицах -- это пройдёт только внутри расширенных таблиц, таких как в примере.
(: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:) | ||||
|
Рассматривая последний пример заметьте, что мы использовали шестнадцатеричный цвет #cccc99 для фона таблицы. Также (:cellnr:)
делает новую строку, новую ячейку и завершает строку в конце.
В дальнейшем вы могли бы воспользоваться таким приёмом: когда понадобится, чтобы каждая страница в группе имела одинаковую таблицу содержания, сделайте одну таблицу вроде нашего примера и поместите её на отдельной странице. При необходимости включите её в таблицу на вашей странице. А атрибут выравнивания сможете поставить индивидуально для каждого случая. Здорово, не правда ли?!
<< Таблицы | Документация | ВикиСтили >>
Перевод страницы PmWiki.TableDirectives -
Оригинал перевода PmWikiRu.TableDirectives -
Backlinks
PmWikiRu.TableDirectives: редакция от May 06, 2014, at 02:31 AM
PmWiki.TableDirectives: редакция от January 17, 2020, at 02:54 AM