Шаблон:Навигационная таблица

Материал из Универсал-вики
Перейти к навигации Перейти к поиску
Страница Шаблон:Tlinks/styles.css не имеет содержания.
Документация

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

В правом верхнем углу находится кнопка [показать] / [скрыть]. Это реализовано с помощью MediaWiki:Common.js. Подробнее см. УВ:СБ.

Заготовка для копирования

Заготовка ниже предназначена для копирования в новые шаблоны для облегчения их оформления:

{{Навигационная таблица
| имя           = {{подст:PAGENAME}}{{подст:пустой шаблон|Не меняйте ничего на этой строке. Она изменится сама при сохранении.}}
| заголовок     = 
| state         = {{{state|}}}
| класс_списков = hlist hlist-items-nowrap

| вверху        = 

| группа1       = 
| список1       = 

| группа2       = 
| список2       = 

<!-- ... -->

| группа23      = 
| список23      = 

| внизу         = 
}}<noinclude>
{{doc-inline}}
{{Навигационная таблица/TemplateData}}
{{doc-end}}
[[Категория:Навигационные шаблоны]]
</noinclude>

Параметры

Для удобства шаблон {{Навигационная таблица}} имеет одинаковые названия параметров с дочерними шаблонами {{Навигационная таблица с колонками}} и {{Навигационная таблица с блоками}}. Параметры, помеченные звёздочкой Шаблон:Символ, являются общими для всех трёх шаблонов.

Основные

Список параметров
Английское название Русское название
|name= |имя=
|title= |заголовок=
|navbar= |ссылка_на_просмотр=
|border=
|state=
|navigation= |навигация=
|above= |вверху=
|image= |изображение=
|imageleft= |изображение_слева=
|groupn= |группаn=
|listn= |списокn=
|below= |внизу=
|bodystyle= |стиль_тела=
|basestyle= |стиль=
|titlestyle= |стиль_заголовка=
|groupstyle= |стиль_групп=
|groupnstyle= |стиль_группыn=
|groupwidth= |ширина_групп=
|liststyle= |стиль_списков=
|listnstyle= |стиль_спискаn=
|listpadding= |отступ_списков=
|abovestyle= |стиль_вверху=
|belowstyle= |стиль_внизу=
|imagestyle= |стиль_изображения=
|imageleftstyle= |стиль_изображения_слева=
|bodyclass= |класс_тела=
|titleclass= |класс_заголовка=
|imageclass= |класс_изображения=
|groupclass= |класс_групп=
|listclass= |класс_списков=
|aboveclass= |класс_вверху=
|belowclass= |класс_внизу=
|titlegroup=
|titlegroupstyle=
|innerstyle=
имя*
name*
Имя шаблона, необходимое для ссылки Просмотр этого шаблона (переход к шаблону) на всех страницах, где используется шаблон. Для простоты можно использовать . Если указан параметр |ссылка_на_просмотр=plain, то этот параметр не используется.
state* [autocollapse, collapsed, uncollapsed, plain, off]
autocollapse — значение по умолчанию, если |state= пустой или отсутствует;
collapsed — при данном значении таблица всегда будет свернута;
uncollapsed — при данном значении таблица всегда будет развернута;
plain — при данном значении таблица всегда будет развернута и будут убраны ссылки [показать] / [скрыть] справа. Заголовок будет отцентрирован относительно всей ячейки, игнорируя размеры «шестеренки»;
off — при данном значении таблица всегда будет развернута и будут убраны ссылки [показать] / [скрыть] справа. Заголовок не будет отцентрирован относительно всей ячейки, игнорируя размеры «шестеренки». Предпочтительно использовать plain вместо off. Используйте данный параметр, только если знаете что делаете.
Навигационная таблица с параметром autocollapse будет появляться в скрытом состоянии, если на странице есть две или более навигационных таблицы с CSS-классом collapsible (технические детали см. в MediaWiki:Common.js).
Иногда требуется навигационный шаблон с состоянием по умолчанию, которое можно переопределить в статье. Для этого в навигационном шаблоне используйте параметр |state=, просто передающий значение базовому шаблону (вместо состояние по умолчанию нужно подставить необходимое значение — например, autocollapse):
| state = <includeonly>{{{state|состояние по умолчанию}}}</includeonly>
(теги <includeonly> нужны для того, чтобы при просмотре шаблона на его странице он всегда оставался в раскрытом состоянии). Соответственно, при использовании такого навигационного шаблона можно указывать его состояние, например:
навигация [да, нет]
navigation
Включает динамическую навигацию для ссылок на другие шаблоны.
да — значение по умолчанию для основного пространства;
нет — при данном значении полностью отключается навигация между ссылками, даже теми, что отмечены шаблоном {{nn}};
ссылка_на_просмотр*
navbar*
Значение по умолчанию — показывать ссылку Просмотр этого шаблона (или Просмотр этого шаблона — цвет подбирается автоматически в зависимости от цвета фона) для перехода к шаблону, указанному в параметре |имя=. Если указано значение plain, либо параметр |имя= пустой или не задан, ссылка в левой части заголовка показана не будет и заголовок будет отцентрирован относительно всей ячейки. Если указано значение off, то центрирование не будет включать в себя размер ссылок [показать] / [скрыть].
border*
Если значение установлено как child или subgroup, то навигационная таблица может быть использована в качестве дочернего элемента, который плотно прилегает в другой навигационной таблице. Граница будет скрыта и исчезнет внешнее расстояние между таблицами, так что она вписывалась в список (|list=) родительской навигационной таблицы. Если установлено значение none, то граница также будет скрыта и исчезнет внешнее расстояние (padding), а навигационная таблица сможет быть использована в качестве дочернего элемента другого контейнера (не используйте это значение если собираетесь использовать навигационную таблицу внутри навигационной таблицы, используйте только child или subgroup). Если установлено любое другое значение, то обычная навигационная таблица отображается с границей в 1px. Альтернативный способ указать границу чтобы задать стиль подгруппы, это использовать первый неименованный параметр вместо |border=:
{{Навигационный шаблон|child
...
}}

Ячейки

заголовок*
title*
Текст, отображаемый в верхней строке таблицы. Обычно это тема шаблона, краткое описание его содержания.
вверху
above
Ячейка во всю ширину таблицы, располагающаяся непосредственно под основным заголовком (над заголовками/списками тела шаблона). В шаблоне без параметра |изображение= задание параметра |вверху= аналогично заданию параметра |список1= без |заголовок1=, но при этом список из параметра |вверху= по умолчанию будет отцентрирован.
группаn
groupn
(группа1, группа2, ..., группа23) Если этот параметр указан, слева от соответствующего |списокn= будет отображён заданный текст. Если параметр не указан, |списокn= займёт всю ширину таблицы.
списокn
listn
(список1, список2, ..., список23) Тело шаблона; как правило, набор ссылок. Каждый список отображается в отдельной строке таблицы. Каждый |списокn= может быть сопровождён параметром |группаn= (см. выше). Если параметр |класс_списков= (или |класс_тела=) содержит значение hlist, каждый элемент списка должен начинаться с новой строки и использовать астериск (*). Если в строка будет начинаться с двух и более астерисков (**), то элементы начнут оборачиваться в скобки, как дочерние для основного. Пример:
| список1 =
* 1
* 2
** 3
* 4
даст результат: 1Шаблон:•2 (3)Шаблон:•4.
Также можно использовать мини-группы, чтобы их заголовки выделялись жирным. С этой целью следует использовать ; перед заголовком мини-группы и : перед каждым из элементов. Пример:
| список1 =
; Заголовок
: 1
: 2
:* 3
: 4
даст результат:
Заголовок
1
2
  • 3
4
Если не используется класс hlist, элементы списка должны быть указаны на одной строке, но, заключив их в <div></div>, можно использовать перенос строки.
изображение
image
Изображение, которое будет показано под основным заголовком в правой части таблицы (правее заголовков/списков). Для того, чтобы изображение отображалось, должен быть хоть один |список= либо |группа=. Параметр |изображение= допускает стандартный викикод для отображения, то есть
| изображение = [[Файл:Пример.jpg|100px]]
В шаблоне, не растянутом на всю ширину страницы, изображение будет показано со сдвигом от правого края шаблона. Для того, чтобы этого избежать, используйте параметр right в викикоде, то есть
| изображение = [[Файл:Пример.jpg|80px|right]]
изображение_слева
imageleft
Аналогично стандартному изображению, но которое будет показано под основным заголовком в левой части таблицы (левее заголовков/списков). Для того, чтобы изображение отображалось, должен быть хоть один |список= либо |группа=.
внизу
below
Ячейка во всю ширину таблицы, располагающаяся внизу тела шаблона (под заголовками/списками и изображением). В шаблоне без параметра |изображение= задание параметра |внизу= аналогично заданию последнего параметра |списокn= без |группаn=, но при этом список из параметра |внизу= по умолчанию будет отцентрирован.

Стили

В следующих параметрах указываются CSS-стили.

Внимание! Значения стилей таблиц по умолчанию в Википедии в настоящее время заданы с помощью MediaWiki:Common.css.

Так как разделение строк происходит через CSS-свойство border-top, то возможны сложности с созданием границ ячеек. Проблему могут помочь решить CSS-тени или шаблоны {{box-shadow}} и {{Box-shadow border}}.

стиль_тела
bodystyle
Стили для тела (фона) шаблона. Примеры аргументов этих параметров:
background: #nnnnnn;
text-align: [right/center/left/justified]
width: N[em/%/px or width: auto]
float: [left/right/none]
clear: [right/left/both/none]
style
Аналог |bodystyle=, используемый в английском разделе Википедии для совместимости со старыми шаблонами. Рекомендуется заменять его на |bodystyle= или |стиль_тела=. Обратите внимание: параметры |style= и |стиль= имеют разное назначение, |стиль= описан ниже.
стиль
basestyle
Задает общий стиль для |вверху=, |внизу=, |заголовок= и |группаn=, не затрагивая ячейки списков.
background: #nnnnnn;
стиль_заголовка
titlestyle
Стили для параметра |заголовок=. Как правило, цвет фона:
| стиль_заголовка = background: #nnnnnn;
| стиль_заголовка = background: name;
Цвет фона по умолчанию — #cfe3ff.
стиль_групп
groupstyle
Стили для всех параметров |группаn=. Этот параметр имеет более высокий приоритет, нежели |стиль=. Примеры аргументов этого параметра:
background: #nnnnnn;
text-align: [left/center/right];
vertical-align: [top/middle/bottom];
white-space: nowrap;
Цвет фона по умолчанию — #dcebff. Как можно видеть, этот цвет чуть светлее стандартного цвета фона заголовка шаблона. Если вы подбираете цвет фона по тому же принципу, отталкиваясь от другого цвета фона заголовка, вы можете воспользоваться инструментом подбора цвета на базе HSL-шкалы, сдвинув значение третьего параметра (светлоты) на треть ближе к 100 (например, 85 → 90; пример инструмента).
стиль_группыn
groupnstyle
Стиль для одного из заголовков групп. Переписывает параметр |groupstyle=. Пример:
| group2style = background: red; color: white;
ширина_групп
groupwidth
Параметр используется для упрощения работы с шириной заголовков групп, когда меньшие заголовки имеют меньшую ширину. Особенно полезно при использовании дочерних шаблонов. Пример:
| groupwidth = 10em
стиль_списков
liststyle
Стили для всех параметров |списокn=. Этот параметр имеет более высокий приоритет, нежели |стиль=.
Цвета фона списка (и всей таблицы) по умолчанию — #f9f9f9.
стиль_спискаn
listnstyle
Стиль для одного из списков. Переписывает параметр |liststyle=. Пример:
| list2style = background: red; color: white;
отступ_списков
listpadding
Задает значение внутренних отступов для всех списков, по умолчанию этот параметр равен 0em — сверху и снизу, 0.25em — справа и слева.
| listpadding = 0.5em 0 — задаст отступы 0.5em — сверху и снизу, 0em — справа и слева.
| listpadding = 0 — уберёт все отступы в ячейках списков.
чётные_нечётные [swap, even, odd, off]
evenodd
Если задано значение swap, то автоматическое чередование чётных и нечётных строк станет обратным. Обычно, если чётным строкам задан светло-серый фон, то при использовании этого параметра нечётные строки получат серый фон вместо чётных строк. Значения even и odd заставит все строки стать чётными или нечётными. off отключает автоматическое чередование строк. Этот дополнительный параметр следует использовать только для устранения проблем, когда навигационная таблица используется как дочерний элемент другой навигационной таблицы и строки не совпадают. Примеры и дальнейшее описание можно найти в разделе, посвященном дочерним шаблонам.
стиль_вверху
abovestyle
стиль_внизу
belowstyle
Стили для параметров |вверху= и |внизу=, соответственно. Обычно используются для задания цвета фона и выравнивания текста:
background: #nnnnnn;
text-align: [left/center/right];
стиль_изображения
imagestyle
стиль_изображения_слева
imageleftstyle
Задает стиль ячеек для изображений. Может быть использован, если ширина ячейки, в которой находится изображение, слишком большая.
стиль_изображения = width: 5em;

Классы

класс_тела
bodyclass
класс_групп
groupclass
класс_списков
listclass
класс_вверху
aboveclass
класс_внизу
belowclass
Задают CSS-класс для элементов шаблона. Обычно используется hlist в |класс_списков= для горизонтальных списков. Каждый из параметров может принимать значение hlist, но если в шаблоне вы используете более одного параметра с hlist, то лучше использовать |bodyclass= для всего шаблона. Также можно использовать класс hlist-items-nowrap, чтобы запретить перенос строки внутри элементов (ссылки не переносятся в любом случае), но это создаёт проблемы в IE9 и ниже (ими можно будет пренебречь, когда доля их использования станет очень малой).
Раньше шаблоны использовали разделители вроде {{}}, {{·}} вместо списков с астериском. Чтобы автоматически преобразовать код шаблона из старого формата в новый, вы можете воспользоваться следующим букмарклетом (запускается из панели закладок):
javascript:if ('toHlist' in window) { window.toHlist(); } else { importScript('User:Jack_who_built_the_house/toHlist.js'); }
Этот букмарклет не преобразует элементы в скобках в пункты списка второго уровня (**) — это нужно делать вручную.

Примеры

Без изображения

С изображением

С изображением и стилями

Дочерние шаблоны

Шаблон:Selfref

Существует возможность разместить несколько навигационных таблиц в одной, при этом внешние рамки будут убраны. Для этого необходимо использовать параметр |border= или просто первый параметр со значением child. Как пример, в следующем коде дополнительная навигационная таблица добавляется в первый список:

{{Навигационная таблица
| имя = {{подст:PAGENAME}}
| заголовок = Заголовок

| заголовок1 = [опционально]
| список1 = {{Навигационная таблица|child
   ...параметры дочерней навигационной таблицы...
}}

...
}}

Пример с подгруппами

Данный пример показывает как могут создаваться подгруппы. Рекомендуется использовать {{Подгруппы навигационной таблицы}}, но похожего результата можно добиться и с помощью {{Навигационная таблица}} с использованием параметра |border= или первого параметра со значением child. В данном примере использованы оба способа создания подгрупп. Параметр |evenodd= позволяет сменить чередование цвета строк, для создания правильной последовательности, а для того чтобы в подгруппах совсем убрать чередование и использовать цвет основного списка, необходимо добавить строку liststyle = background: transparent; в каждую подгруппу.

Пример со сворачивающимися блоками

Приведенный ниже пример создан с помощью обычной Навигационной таблицы в качестве основного контейнера, а то его каждый список |list1=, |list2= и |list3= содержит еще одну Навигационную таблицу с первым параметром child. Шестеренка у каждой внутренней таблицы убрана с помощью заданного параметра navbar — |navbar=plain. Но в данном примере, так как у внутренних Навигационных таблиц не задан параметр |имя= шестеренка не будет отображаться даже если параметра |navbar= не будет.

Взаимодействие с другими шаблонами

Данный шаблон разработан специально для работы в сочетании с двумя другими родственными шаблонами: {{Навигационная таблица с колонками}} и {{Навигационная таблица с блоками}}. Все три эти шаблона имеют одинаковые параметры для простоты использования (такие параметры отмечены звездочкой (*) в списке описания параметров). Самое главное, что каждый шаблон может быть использован в качестве дочернего друг для друга (с помощью |border=child, либо указав значение первого неименованного параметра равное child, например: {{Навигационная таблица|child ...}}, {{Навигационная таблица с колонками|child ...}} or {{Навигационная таблица с блоками|child ...}}).

См. также

TemplateData

Неожиданное свойство «params.state.suggestedvalues».