Сворачивающиеся блоки дают возможность динамически «прятать» своё содержимое (с помощью JavaScript в браузере посетителя), оставляя только заголовок. Сворачивающиеся блоки обычно используются для навигационных шаблонов и скрытия больших кусков необязательного текста, то есть такой информации, которая заинтересует не всех читателей.
Имейте в виду, что обычно любые свёрнутые блоки/таблицы отобразятся раскрытыми (даже при указанном collapsed) в мобильной версии и при генерации PDF с использованием статьи в Википедии. В мобильной версии скрипт сворачивания не работает.
Использование
__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435","replies":[]}}-->
По возможности желательно не использовать код сворачивающихся блоков и таблиц напрямую, а использовать уже существующие базовые шаблоны. Например, сворачивающиеся блоки используются в
а сворачивающиеся таблицы используются в
Персональные настройки
__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435_\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438","replies":[]}}-->
Зарегистрированные участники могут изменять для себя настройку автосворачивания блоков и таблиц, изменяя значения следующего параметра у себя в common.js (указано значение по умолчанию):
window.NavigationBarShowDefault = 1 //максимальное количество автосворачиваемых блоков
Класс mw-collapsible
__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-\u041a\u043b\u0430\u0441\u0441_mw-collapsible","replies":["h-\u041f\u0440\u043e\u0441\u0442\u043e\u0439_\u043f\u0440\u0438\u043c\u0435\u0440-\u041a\u043b\u0430\u0441\u0441_mw-collapsible","h-\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435_\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435-\u041a\u043b\u0430\u0441\u0441_mw-collapsible","h-\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435_\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435-\u041a\u043b\u0430\u0441\u0441_mw-collapsible","h-\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435_\u0441_\u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438-\u041a\u043b\u0430\u0441\u0441_mw-collapsible","h-\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a_\u0442\u0430\u0431\u043b\u0438\u0446\u044b_\u0438\u0437_\u043e\u0434\u043d\u043e\u0439_\u044f\u0447\u0435\u0439\u043a\u0438-\u041a\u043b\u0430\u0441\u0441_mw-collapsible","h-\u0427\u0430\u0441\u0442\u0438\u0447\u043d\u043e_\u0441\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0435\u0441\u044f_\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435-\u041a\u043b\u0430\u0441\u0441_mw-collapsible","h-\u041f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435_\u0442\u0435\u043a\u0441\u0442\u0430_\u043c\u0435\u0442\u043a\u0438-\u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b-\u041a\u043b\u0430\u0441\u0441_mw-collapsible","h-\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435_\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439_\u043c\u0435\u0442\u043a\u0438-\u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044f-\u041a\u043b\u0430\u0441\u0441_mw-collapsible","h-\u0421\u0432\u044f\u0437\u044b\u0432\u0430\u043d\u0438\u0435_\u043e\u0434\u043d\u043e\u0439_\u043c\u0435\u0442\u043a\u0438-\u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044f_\u0441_\u043d\u0435\u0441-\u041a\u043b\u0430\u0441\u0441_mw-collapsible"]}}-->
Класс "mw-collapsible
" может быть присвоен практически к любому блочному элементу (div, list, таблицы, строки и ячейки таблицы, и т. д.).
Простой пример
Добавление класса "mw-collapsible
" к элементу делает его содержимое сворачивающимся.
<div class="mw-collapsible" style="width:400px">
Это сворачивающийся текст.<br>
Продолжение сворачивающегося текста.
</div>
|
Это сворачивающийся текст.
Продолжение сворачивающегося текста.
|
Небольшое изменение
Чтобы метка-переключатель не «проваливалась» вниз при сворачивании текста, к стилю сворачиваемого элемента необходимо добавить "overflow: hidden
".
<div class="mw-collapsible" style="width:400px; overflow: hidden;">
Это сворачивающийся текст.<br>
Продолжение сворачивающегося текста.
</div>
|
Это сворачивающийся текст.
Продолжение сворачивающегося текста.
|
Начальное состояние
Блок может быть сразу свёрнут. Добавление дополнительного класса "mw-collapsed
" делает начальное состояние свернутым.
<div class="mw-collapsible mw-collapsed" style="width:400px; overflow: hidden;">
Это сворачивающийся текст,<br>
свернутый в начальном состоянии.
</div>
|
Это сворачивающийся текст,
свернутый в начальном состоянии.
|
Использование с таблицами
Для того, чтобы сделать таблицу сворачивающейся, нужно добавить ей класс mw-collapsible, при этом в последнюю заголовочную ячейку («!» в викикоде) первой строки добавляется переключатель [скрыть], прячущий все остальные строки. При использовании с таблицами заголовок таблицы будет всегда виден, а сворачиваться будут только строки. Таблица может быть любого класса — standard, wikitable, wide: {| class="standard mw-collapsible"
. Таблица может быть сразу свёрнута: {| class="standard mw-collapsible mw-collapsed"
. Следует быть осторожным с использованием данного механизма в статьях, так как такая таблица не развернётся на печати в pdf.
{| class="standard mw-collapsible mw-collapsed"
! Заголовок || таблицы || остаётся || видимым
|-
| А строки || таблицы || в || начальном
|-
| состоянии || свернуты || ||
|}
|
Заголовок |
таблицы |
остаётся |
видимым
|
А строки |
таблицы |
в |
начальном
|
состоянии |
свернуты |
|
|
|
Заголовок таблицы из одной ячейки
Некоторые шаблоны (пример) оставляют последнюю ячейку в первой строке заголовочной. Но как правило переключатель в правой части таблицы выглядит не очень красиво, поэтому обычно первую строку делают состоящей из одной ячейки.
{| class="standard mw-collapsible"
!colspan=3|Заголовок
|-
|Ячейка 1*1||Ячейка 2*1||Ячейка 3*1
|-
|Ячейка 1*2||Ячейка 2*2||Ячейка 3*2
|}
|
Заголовок
|
Ячейка 1*1 |
Ячейка 2*1 |
Ячейка 3*1
|
Ячейка 1*2 |
Ячейка 2*2 |
Ячейка 3*2
|
|
Таблица может иметь несколько строк заголовков. Например, первая строка-заголовок может сворачиваться, а в следующей быть сортировка.
Частично сворачивающееся содержимое
Можно также определить, какая часть текста сворачивающаяся, а какая нет, используя класс "mw-collapsible-content
". В следующем примере метка-переключатель будет присоединена к элементу "mw-collapsible
", содержащий элемент "mw-collapsible-content
", но действие метки-переключателя будет распространяться только на внутренний элемент.
<div class="mw-collapsible mw-collapsed" style="width:400px">
Этот текст не сворачивающийся.
<div class="mw-collapsible-content">А этот сворачивающийся.</div>
</div>
|
Этот текст не сворачивающийся.
А этот сворачивающийся.
|
Переопределение текста метки-переключателя
Используя атрибуты data-expandtext
и data-collapsetext
можно переопределить текст метки-переключателя.
<div class="mw-collapsible mw-collapsed" style="width:400px" data-expandtext="Показать!!!" data-collapsetext="Скрыть!!!">
Текст метки-переключателя переопределен.
<div class="mw-collapsible-content">А это сворачивающийся текст.</div>
</div>
|
Текст метки-переключателя переопределен.
А это сворачивающийся текст.
|
Создание отдельной метки-переключателя
Если вы не хотите, чтобы метка-переключатель создавалась по умолчанию, можно создать собственную метку-переключатель. Она может располагаться как внутри так и вне сворачивающегося элемента. Метка-переключатель связывается со сворачивающимся элементом при помощи использования класса с префиксом mw-customtoggle
для метки-переключателя и атрибута ID с префиксом mw-customcollapsible
для соответствующего сворачивающегося элемента.
<div class="mw-customtoggle-myDiv1" style="background:#e0e8ff">Это переключатель для сворачивания текста</div>
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDiv1">
<div class="mw-collapsible-content">Это сворачивающийся текст.</div>
</div>
<div class="mw-customtoggle-myDiv1" style="background:#e8ffe0">Это тоже переключатель для сворачивания текста!</div>
|
Это переключатель для сворачивания текста
Это сворачивающийся текст.
Это тоже переключатель для сворачивания текста!
|
Связывание одной метки-переключателя с несколькими элементами
Допустимо сворачивать несколько элементов одновременно при помоши одной метки-переключателя. Кроме того, поскольку класс "mw-collapsible
", обеспечивающий сворачиваемость, может быть присвоен любому типу элементов, в частности строкам таблицы, то эта возможность позволяет компактно отображать длинные таблицы с группировкой подитогов и возможностью развернуть детали одновременно по всем подитогам.
Площадь материков и государств.
<div class="mw-customtoggle-myDiv2" style="color:#0B0080;"><small>[Показать/скрыть подробности]</small></div>
{| class="wikitable"
|- bgcolor=lightgreen
| Название || Площадь, кв км
|- bgcolor=lightblue
| Северная Америка || 24 250 000
|- class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDiv2"
| Канада || 9 984 670
|- class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDiv2"
| США || 9 519 431
|- class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDiv2"
| ... || ...
|- bgcolor=lightblue
| Южная Америка || 17 840 000
|- class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDiv2"
| Бразилия || 8 514 877
|- class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDiv2"
| Аргентина || 2 780 400
|- class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDiv2"
| ... || ...
|- bgcolor=lightblue
| ... || ...
|}
|
Площадь материков и государств.
[Показать/скрыть подробности]
Название |
Площадь, кв км
|
Северная Америка |
24 250 000
|
Канада |
9 984 670
|
США |
9 519 431
|
... |
...
|
Южная Америка |
17 840 000
|
Бразилия |
8 514 877
|
Аргентина |
2 780 400
|
... |
...
|
... |
...
|
|
См. также
__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-\u0421\u043c._\u0442\u0430\u043a\u0436\u0435","replies":[]}}-->