Шаблон:Navbox

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
{{i}} Документація шаблону[перегляд] [редагувати] [історія] [очистити кеш]

Цей шаблон дозволяє відносно швидко створити навігаційний шаблон, передаючи йому потрібні переліки посилань. Він уже має типові стилі, які повинні працювати для більшості навігаційних шаблонів. Змінювати типові стилі не рекомендується, але можливо. Дуже рекомендується використовувати цей шаблон чи споріднені шаблони, що вказані в блоці праворуч, для стандартизації навігаційних шаблонів і для простоти використання.

Навігаційні та інші шаблони, що використовують класи navbox (navbox) або nomobile (sidebar), не показуються на мобільному вебсайті Вікіпедії, що становить приблизно 60% читачів.

Використання

Будь ласка, видаляйте параметри, які залишаються порожніми.

{{Navbox
|name       = {{subst:PAGENAME}}
|title      = 
|state      = {{{state|}}}
|bodyclass  = 
|titleclass = 
|listclass  =
|image      = 
|above      = 

|group1     = 
|list1      = 

|group2     = 
|list2      = 
 ...
|group20    = 
|list20     = 

|below      = 
}}

Перелік параметрів

navbox використовує імена параметрів у нижньому регістрі, як показано вище. Обов'язкові параметри name та title утворять таблицю з одним рядком, якщо інші параметри не будуть вказані.

Зауважте, що «group1» (і т. д.) є необов'язковими, так само як і секції «above/below».

Основні й найуживаніші параметри такі (див. нижче повний список):

bodyclass — застосовується як HTML-атрибут class для всього navbox.
name — назва шаблону.
title — текст у заголовку, наприклад: [[Київ]].
titleclass — застосовується як HTML-атрибут class до заголовку.
listclass — CSS-клас для списків, hlist дозволяє утворювати горизонтальні списки.
state — вказує стан шаблону (згорнутий/розгорнутий) autocollapse, uncollapsed, collapsed, де autocollapse автоматично ховає розміщені одні над одними navbox'и.
titlestyle — CSS-стиль для заголовку, наприклад: background:gray;
groupstyle — CSS-стиль для комірок груп, наприклад: background:#eee;
image — необов'язкове зображення, що розміщується справа, і передається як повна вікірозмітка зображення. Зазвичай це зображення лише декоративного призначення, тож воно повинно передаватися як [[Файл:XX.jpg|90px|link=|alt=]].
imageleft — необов'язкове зображення, що розміщується зліва (передається у такому форматі як параметр «image»).
above — текст, що розміщується над секцією груп/списків (може бути списком всіх вікіпосилань).
groupn — текст зліва перед list-n (якщо group-n опущений, list-n розміщується по центрі, а не зліва).
listn— текст-список вікіпосилань, часто розділених шаблонами middot, наприклад: [[A]]{{·}} [[B]]
below— текст, що розміщується під секцією груп/списків.

Більше подробиць і складних умов пояснені нижче у розділі Опис параметрів. Див. альтернативні формати navbox у розділі Розмітка таблиці.

Опис параметрів

Далі подається повний список параметрів шаблону {{Navbox}}. У більшості випадків обов'язковими параметрами є лише name, title та list1, хоча вкладені navbox'и навіть їх не вимагають.

{{Navbox}} має багато спільних параметрів з подібними шаблонами {{Navbox with columns}} та {{Navbox with collapsible groups}} для логічності і простоти використання. Параметри, позначені зірочкою *, є спільними для всіх трьох батьківських шаблонів.

Основні параметри

name*
Назва шаблону, яка потрібна для посилань «п · о · р» («перегляд · обговорення · редагування») для коректної роботи на всіх сторінках, де використовується шаблон. Ви можете вводити {{subst:PAGENAME}} як значення для цього параметру. Параметр name обов'язковий лише тоді, коли вказаний title і не вказаний параметр border.
state* [autocollapse, uncollapsed, collapsed, plain, off]
  • autocollapse по замовчуванню. navbox з autocollapse буде схований на початку, якщо на тій же сторінці є дві або більше таблиць, що використовують таблиці, що згортаються. Інакше, navbox буде розгорнутим. Для технічних деталей, див. MediaWiki:Common.js.
  • Якщо використано collapsed, navbox буде завжди у згорнутому стані на початку.
  • Якщо використано plain, navbox буде завжди розгорнутим без посилання [сховати] справа, і заголовок буде залишатися по центру (використовуючи доповнення пробілами до зміщення посилань п • о • р).
  • Якщо використано off, navbox буде завжди розгорнутим без посилання [сховати] справа, але доповнення пробілами не буде використовуватися для центрування заголовку. Це лише для нестандартного використання; опція «plain» повинна задовольняти більшості застосувань, коли кнопка [показати]/[сховати] повинна бути схована.
  • Якщо використано будь-яке інакше значення, ніж autocollapse, collapsed, plain або off (таке як «uncollapsed»), navbox буде завжди розгорнутим на початку, але маючи кнопку «сховати».
Якщо потрібно продемонструвати навігаційну таблицю у розкритому стані, але зберігаючи звичайну поведінку при включенні у статті, помістіть «uncollapsed» в теги <noinclude>:
  • state = <noinclude>uncollapsed</noinclude>
  • Ця опція змусить таблицю відображатися розгорнутою на своїй сторінці (навіть якщо будуть інші навігаційні таблиці), показуючи «[сховати]», але при тому зберігати автоматичне згортання при включенні у статті.
Часто дописувачі хочуть вказувати початковий стан по замовчуванню для navbox'у, який може бути перевизначений у статті. Ось як це можна зробити:
  • У вашому проміжному шаблоні створіть параметр з назвою «state» для передачі значення далі:
  • | state = {{{state<includeonly>|ваш_бажаний_початковий_стан</includeonly>}}}
  • <includeonly>| зробить шаблон розгорнутим, коли він відображається на власній сторінці.
navbar*
При значенні plain, посилання п • о • р з лівого боку заголовку не будуть відображатися, і доповнення пробілами буде автоматично використане для центрування заголовку. Використовуйте off для вилучення посилань п • о • р, але не буде застосоване доповнення пробілами (це лише для просунутого використання; використання опції «plain» повинно задовольнити більшості випадків, коли навігаційна панель небажана). Зауважте, що дуже рекомендується не ховати навігаційну панель для того, щоб полегшити редагування шаблону для користувачів, і щоб зберігати стандартний стиль на всіх сторінках.
border*
Див. розділ нижче щодо використання navbox'ів один в одному для прикладів і повнішого опису. При значенні child або subgroup navbox може використовуватися як вкладений для іншої навігаційної таблиці, не відображаючи рамку в цьому випадку. Рамка прихована і немає вирівнювання по боках таблиці, тож вона вміщується у область списків батьківської навігаційної таблиці. Якщо значення — none, то рамка прихована і вирівнювання вилучається, і navbox може використовуватися як дочірній для іншого контейнера (не використовуйте опції none всередині іншого navbox'у; аналогічно, використовуйте опцію child/subgroup лише всередині іншого navbox'у). Якщо значення параметру якесь інше (по замовчуванню), то відображається звичайна навігаційна таблиця з рамкою шириною 1px. Альтернативний спосіб задати рамку у стилі підгрупи (тобто використовуючи перший параметр без назви замість параметру border):
{{Navbox|child
  …
}}

Комірки

title*
Текст, який відображається у верхньому рядку таблиці. Зазвичай це тема шаблону, тобто короткий опис основного його вмісту. Це повинен бути один рядок, але якщо потрібний другий рядок, використовуйте {{-}}, щоб забезпечити відповідне центрування. Цей параметр технічно не обов'язковий, але використання {{Navbox}} без заголовку є швидше позбавленим сенсу.
groupn*
(тобто group1, group2 тощо) Якщо вказаний, If specified, відображається текст у комірці заголовку зліва від listn. Якщо параметр опущений, то listn використовує всю ширину таблиці.
listn*
(тобто list1, list2 тощо) Тіло шаблону, зазвичай список посилань. Форматування вбудоване, хоча текст може бути введеним окремими рядками, якщо весь список включений в теги <div> </div>. Щонайменше один параметр list є обов'язковим; кожний додаткомий list відображається у окремому рядку таблиці. Кожен listn може задаватися відразу після відповідного параметру groupn, якщо наданий (див. нижче).
image*
Зображення, що відображається у комірці нижче від заголовку і справа від тіла таблиці (груп/списків). Для того, щоб малюнок відображався коректно, потрібно, щоб був заданий параметр list1. Параметр image приймає стандартну вікірозмітку для відображення зображення, наприклад:
[[Файл:XX.jpg|90px|link=|alt=]]
imageleft*
Зображення, що відображається у комірці нижче від заголовку і зліва від тіла таблиці (списків). Для того, щоб малюнок відображався коректно, потрібно, щоб був заданий параметр list1 і не було задано жодних груп. Він приймає значення такого ж роду, як і параметр image.
above*
Комірка на всю ширину, що відображається між заголовком і першою групою/списком, тобто над тілом шаблону (групами, списками і зображенням). У шаблоні без зображення, above поводиться так само як параметр list1 без параметру group1.
below*
Комірка на всю ширину, що відображається під тілом шаблону (групами, списками і зображенням). Якщо шаблон без зображення, below поводиться так само, як останній параметр listn без параметру groupn.

Параметри стилю

Стилі в загальному не рекомендується використовувати, щоб забезпечити злагодженість стилю на всіх шаблонах і сторінках Вікіпедії. Тим не менше, надається можливість модифікації стилів.

style*
Задає CSS-стилі, що застосовуються до тіла шаблону. Параметр bodystyle виконує ту ж саму функцію і може застосовуватися замість цього параметру style. This option should be used sparingly as it can lead to visual inconsistencies. Examples:
style = background:#nnnnnn;
style = width:N [em/%/px or width:auto];
style = float:[left/right/none];
style = clear:[right/left/both/none];
basestyle*
CSS-стилі, що застосовуються одночасно до всіх комірок title, above, below, та group. Це стилі не застосовуються до комірок list. Це зручно, щоб змінити базовий колір цілої навігаційної таблиці, не повторюючи специфікації стилю для різних частин navbox'у. Приклади:
basestyle = background:lightskyblue;
titlestyle*
CSS-стилі, що застосовуються до title, найчастіше для зміни кольору фону заголовку:
titlestyle = background:#nnnnnn;
titlestyle = background:name;
groupstyle*
CSS-стилі, що застосовуються до комірок groupN. Ця опція перекриває будь-які стилі, що застосовуються до цілої таблиці. Приклади:
groupstyle = background:#nnnnnn;
groupstyle = text-align:[left/center/right];
groupstyle = vertical-align:[top/middle/bottom];
groupnstyle*
CSS-стилі, що застосовуються до конкретної групи, на додачу до будь-яких стилів, заданих параметром groupstyle. Цей параметр слід застосовувати лише тоді, коли це цілковито необхідно, щоб підтримати стандартизацію і простоту. Приклади:
group3style = background:red;color:white;
groupwidth
Величина і одиниця міри для задання однакової ширин для комірок груп, у випадках коли мала кількість контенту у комірках списків може спричиняти те, що комірки груп стають дуже широкими. Без значення по замовчуванню. Тим не менше, може бути перекрито параметром group(n)style. Приклади:
groupwidth = 9em
liststyle*
CSS-стилі, що застосовуються до всіх списків. Перекривається параметрами oddstyle та evenstyle (якщо задані) нижче. Коли використовуються фонові кольори у навігаційній таблиці, див. зауваження нижче.
listnstyle*
CSS-стилі, що застосовуються до конкретного списку, на додачу до будь-яких стилів, заданих параметром liststyle. Цей параметр слід застосовувати лише тоді, коли це цілковито необхідно, щоб підтримати стандартизацію і простоту. Приклади:
list5style = background:#ddddff;
listpadding*
Величина і одиниця міри для задання полей у кожній комірці list. Комірки list по замовчуванню мають поля 0.25em зліва і справа та 0em зверху і знизу. Через складні технічні причини, просте встановлення «liststyle=padding:0.5em;» (або будь-якого іншого налаштування полей) не буде працювати. Приклади:
listpadding = 0.5em 0em; (виставляє поле 0.5em зліва/справа та 0em зверху/знизу.)
listpadding = 0em; (вилучає всі поля списків.)
evenstyle
oddstyle
Застосовується до парних/непарних номерів списків. Перекриває стилі, визначені параметром liststyle. Поведінкою по замовчуванню є додавати смугасті кольори (білий та сірий) до парних/непарних рядків, відповідно, для того, щоб покращити читабельність. Це не повинно мінятися за винятком надзвичайних оставин.
evenodd [swap, even, odd, off]
Якщо задане значення swap, то автоматичне додавання смуг міняється на протилежне. За нормальних умов, парні рядки отримують світло-сірий фон для утворення смуг; коли застосовується цей параметр, непарні рядки отримуються сірі смуги замість парних. Задаючи значення even або odd, можна задати щоб всі рядки мали колір парних або непарних рядків відповідно. Значення off вимикає автоматичне утворення смуг. Цей додатковий параметр повинен використовуватися лише для того, щоб виправити проблеми, коли навігаційна таблиця використовується як дочірня для іншої і смуги не співпадають. Приклади і більше деталей можна знайти у розділі нижче про дочірні навігаційні таблиці.
abovestyle*
belowstyle*
CSS-стилі, що застосовуються до верхньої (заданої параметром above) і нижньої комірок (заданої параметро below). Типово використовується, щоб задати колір фону або вирівнювання тексту:
abovestyle = background:#nnnnnn;
abovestyle = text-align:[left/center/right];
imagestyle*
imageleftstyle*
CSS-стилі, що застосовуються до комірок із зображеннями image/imageleft. Ці стилі слід застосовувати лише за виняткових обставин, зазвичай щоб виправити проблеми ширини, якщо задана ширина груп і ширина комірок зображень стає дуже великою. Приклади:
imagestyle = width:5em;
Стилі по замовчуванню

Налаштування стилів, що перелічені нижче, є такими, що найчастіше змінюються при користуванні цим шаблоном. Інші складніші налаштування стилів залишені поза списком, щоб зберегти його простим. Більшість стилів встановлені у MediaWiki:Common.css.

bodystyle = background:#fdfdfd; width:100%; vertical-align:middle;
titlestyle = background:#ccccff; padding-left:1em; padding-right:1em; text-align:center;
abovestyle = background:#ddddff; padding-left:1em; padding-right:1em; text-align:center;
belowstyle = background:#ddddff; padding-left:1em; padding-right:1em; text-align:center;
groupstyle = background:#ddddff; padding-left:1em; padding-right:1em; text-align:right;
liststyle = background:transparent; text-align:left/center;
oddstyle = background:transparent;
evenstyle = background:#f7f7f7;

Оскільки liststyle та oddstyle є прозорими, непарні списки мають колір, заданий у bodystyle, який по замовчуванню #fdfdfd (білий з краплею сірого). Список по замовчуваню має text-align:left;, якщо є відповідна група, в іншому випадку text-align:center;. Оскільки bodystyle має вертикальне вирівнювання, всі решта внаслідують його vertical-align:middle;.

Параметр для увімкнення вирівнювання списку посередині

Укрвіківський шаблон Navbox та Navbox subgroup за промовчанням форматиується так щоб учасники списку вирівнювалися не посередині, а по лівому краю. Для того щоб список вирівнювався посередині, встановіть наступний код: | liststyle = text-align: center;

Додаткові параметри

titlegroup
Додає групу у заголовку, з такими стилями по замовчуванню як groupn. Це повинно використовуватися у виняткових обставинах (зазвичай для розширених меташаблонів) і їхнє використання вимагає деякого знання внутрішнього коду {{Navbox}}; ви повинні самі вручну встановлювати CSS-стилі, щоб все працювало коректно, у випадку, якщо ви хочете використати цей параметр. Якщо ви думаєте, що ви маєте застосування для цього параметру, вам краще змінити свою думку :)
titlegroupstyle
Стилі для комірки titlegroup.
innerstyle
Дуже розширений параметр, який слід використовувати лише для розширених мета-шаблонів, що використовують navbox. Внутрішньо, navbox використовує зовнішню таблицю, щоб зобразити рамку, і тоді внутрішню таблицю для всього решта (заголовок/верхня і нижня комірки/групи/списки/зображення тощо). Параметри style/bodystyle визначають стиль для зовнішньої таблиці, які внаслідуються внутрішньою таблицею, але у розширених випадках (мета-шаблони) може бути необхідно напряму задати стилі для внутрішньої таблиці. Цей параметр надає доступ до тієї внутрішньої таблиці, до якої можуть бути застосовані стилі. Використовуйте його на свій страх і ризик.

Мікроформати

bodyclass
Цей параметр вставляється в атрибут «class» для навігаційної таблиці в цілому.
titleclass
Цей параметр вставляється в атрибут «class» для заголовку навігаційної таблиці.

Цей шаблон підтримує додавання інформації мікроформату. Це робиться шляхом додавання атрибутів «class» до різних комірок даних, що позначають вид інформації, що міститься в ній. Щоб позначити navbox як таким, що містить інформацію hCard про особу, для прикладу, додайте такий параметр:

|bodyclass = vcard

та

|titleclass = fn

…і тому подібне.

Див мікроформат для загальної інформації про мікроформати.

Розмітка таблиці

Таблиця, утворена шаблоном {{Navbox}} без параметрів image, above та below (сірий колір фону для списків доданий лише для ілюстрації):

Таблиця, утворена шаблоном {{Navbox}} з параметрами image, above та below (сірий колір фону для списків доданий лише для ілюстрації):

Таблиця, утворена шаблоном {{Navbox}} з параметрами image, imageleft, lists і без параметрів groups, above, below (сірий колір фону для списків доданий лише для ілюстрації):

Child navboxes

Subgroups example

Докладніше: Шаблон:Navbox subgroup
{{Navbox
|name=Navbox/Документація
|title=Examples with subgroups
|image=[[Файл:Windows logo - 2012.svg|100px|alt=]]
|state=uncollapsed
|above=Above
|below=Below
|group1=Group1
|list1=List1
|group2=Group2
|list2={{Navbox|child
 |evenodd=swap
 |group1=Group2.1
 |list1=List1
 |group2=Group2.2
 |list2=List2
 |group3=Group2.3
 |list3=List3
 }}
|group3=Group3
|list3=List3
|group4=Group4
|list4={{Navbox subgroup
 |evenodd=swap
 |group1=Group4.1
 |list1=List1
 |group2=Group4.2
 |list2=List2
 |group3=Group4.3
 |list3=List3
 }}
}}

Examples with collapsible groups

{{Navbox
|name=Navbox/Документація
|title=Title
|state=uncollapsed
|list1={{Navbox|child
 |navbar=plain
 |title=First title
 |listclass=hlist
 |group1=Group 1
 |list1=
*List 1
*List 1
*List 1

 |group2=Group 2
 |list2=
*List 2
*List 2
*List 2

 |group3=Group 3
 |list3=
*List 3
*List 3
*List 3

 |group4=Group 4
 |list4=
*List 4
*List 4
*List 4
}}
|list2={{Navbox|child
 |navbar=plain
 |title=Second title
 |listclass=hlist
 |list1=
*List 1.2

 |list2=
*List 2.2
*List 2.2
|below=Below
}}
|list3={{Navbox|child
 |navbar=plain
 |title=Third title
 |listclass=hlist
 |group1=Group 1
 |list1=
*List 1
*List 1
*List 1

 |group2=Group 2
 |list2=
*List 2
*List 2
*List 2

 |group3=Group 3
 |list3=
*List 3
**List 3
*List 3

 |group4=Group 4
 |list4=
*List 4
**List 4
**List 4
 |below=Below 2
}}
}}

Див. також