Перейти до вмісту

Шаблон:Navbox

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

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

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

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

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

{{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.
стан* [autocollapse, uncollapsed, collapsed, plain, off, простий, вимкнутий]
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}} без заголовка є швидше позбавленим сенсу.
групаn'*
groupn*
(тобто group1, group2 тощо) Якщо вказаний, If specified, відображається текст у комірці заголовка зліва від listn. Якщо параметр опущений, то listn використовує всю ширину таблиці.
списокn'*
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];
стиль_групиn*
groupnstyle*
CSS-стилі, що застосовуються до конкретної групи, на додачу до будь-яких стилів, заданих параметром groupstyle. Цей параметр слід застосовувати лише тоді, коли це цілковито необхідно, щоб підтримати стандартизацію і простоту. Приклади:
group3style = background:red;color:white;
ширина_груп
groupwidth
Величина й одиниця міри для задання однакової ширини для комірок груп, у випадках коли мала кількість контенту у комірках списків може спричиняти те, що комірки груп стають дуже широкими. Без значення по замовчуванню. Тим не менше, може бути перекрито параметром group(n)style. Приклади:
groupwidth = 9em
стиль_списків*
liststyle*
CSS-стилі, що застосовуються до всіх списків. Перекривається параметрами oddstyle та evenstyle (якщо задані) нижче. Коли використовуються фонові кольори у навігаційній таблиці, див. зауваження нижче.
стиль_спискуn*
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. Поведінкою по замовчуванню є додавати смугасті кольори (білий та сірий) до парних/непарних рядків, відповідно, для того, щоб покращити читабельність. Це не повинно мінятися за винятком надзвичайних обставин.
парні_непарні* [swap, even, odd, off, заміна, вимкнутий]
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;

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

внутрішній_стиль
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 (сірий колір фону для списків доданий лише для ілюстрації):

Вбудовування navbox'ів

Можна розмістити кілька navbox'ів в межах однієї рамки. Їх можна зазначити або в рядку або використавши вкладений шаблон navbox, хоча останній метод може спричинити значно більший розмір розкритих включень[en].

Щоб вказати вбудовування navboxes в рядку, встановіть значення child, subgroup, вбудовування або підгрупа параметру listn або списокn. Елементи вбудованого navbox можна зазначити, додавши childn_, subgroupn_, вбудовуванняn_, підгрупаn_ або просто n_ перед назвою параметра (наприклад, 1_list1 або 1_список1). Вбудовані navbox можна вкладати, додаючи додаткові префікси (наприклад, 1_1_list1 або 1_1_список1). Основний код для виконання цього є наступним (який додає підгрупи до поля першої групи/списку):

{{Navbox
| ім'я = {{subst:PAGENAME}}
| назва = Назва

| група1 = [необов'язковий]
| список1  = вбудовування
  | 1_назва = [необов'язковий]

  | 1_група1 = [необов'язковий]
  | 1_список1  = вбудовування
    | 1_1_назва = [необов'язковий]
    
    | 1_1_група1 = [необов'язковий]
    | 1_1_список1  = 
    ...вміст списку...
  ...
...
}}

Щоб зазначити вбудований navboxes, використовуючи вкладений шаблон, використайте «child» або «вбудовування» як перший параметр або встановіть параметр border. Основний код для виконання цього є наступним (який додає підгрупи до поля першої групи/списку):

{{Navbox
| ім'я = {{subst:PAGENAME}}
| назва = Назва

| група1 = [необов'язковий]
| список1  = {{Navbox|вбудовування
   ...параметри вбудованого navbox...
 }}

...
}}

Приклад з підгрупами

Докладніше: Шаблон: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
 }}
}}

Приклад зі згорнутими групами

{{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
}}
}}

Див. також