ФЭНДОМ


Redo ВП:СБ
Сворачивающиеся блоки дают возможность динамически «прятать» своё содержимое, оставляя только заголовок. Существует два вида сворачивающихся блоков: Div’ы и таблицы.

Использование Править

Сворачивающиеся блоки обычно используются для навигационных шаблонов и скрытия больших кусков необязательного текста, то есть такой информации, которая заинтересует не всех читателей.

По возможности желательно не использовать код сворачивающихся div’ов и таблиц напрямую, а использовать уже существующие базовые шаблоны. Например, div’ы используются в

а сворачивающаяся таблица использована в

Также см. Категория:Википедия:Навигационные шаблоны для шаблонов.

Div Править

Для создания сворачивающегося div к нему добавляется класс NavFrame, при этом внутренний блок с классом NavHead образует всегда видимый заголовок, а любые внутренние блоки с классами NavContent и NavPic прячутся:

<div class="NavFrame">
  <div class="NavHead">
    Заголовок
  </div>
  <div class="NavContent">
     Содержание
  </div>
  <div class="NavPic">
     Изображение
  </div>
</div>

Как правило, используется один NavContent для основного содержимого, и от нуля до двух NavPic для изображений.

Стандартный внешний вид всех этих классов задаётся в MediaWiki:Common.css. Для смены оформления можно указать дополнительные CSS стили прямо в викикоде. В частности, поскольку у NavPic задан стиль «плавать слева», для добавления второго изображения справа нужно использовать <div class="NavPic" style="float:right">

Таблица Править

Для того, чтобы сделать любую таблицу сворачивающейся, достаточно добавить к ней класс collapsible:

{| class="standard collapsible"
!colspan=2|Заголовок
|-
|Ячейка 1*1||Ячейка 2*1||Ячейка 3*1
|-
|Ячейка 1*2||Ячейка 2*2||Ячейка 3*2
|}

Заголовок
Ячейка 1*1Ячейка 2*1Ячейка 3*1
Ячейка 1*2Ячейка 2*2Ячейка 3*2

Первую строку (заголовок) обычно делают состоящей из одной ячейки <TH>.

Начальное состояние Править

Начальное состояние (сразу после загрузки страницы) сворачивающегося блока указывается с помощью одного из трёх дополнительных классов:

  • collapsed означает, что блок будет свёрнут
  • expanded (по умолчанию у таблиц) означает, что блок будет развёрнут
  • autocollapse: (по умолчанию у div) все блоки с этим классом будут свёрнуты, только если общее количество сворачивающихся блоков этого типа (div’ы и таблицы считаются отдельно) на странице больше двух.

По умолчанию — то есть, если не указывается ни один из перечисленных дополнительных классов

Пример:

<div class="NavFrame collapsed">
  <div class="NavHead">Свёрнутый</div>
  <div class="NavContent">
     по умолчанию блок
  </div>
</div>

Персональные настройки Править

Зарегистрированные участники могут изменять для себя некоторые настройки сворачиваемых div’ов и таблиц, изменяя значения следующих параметров у себя в monobook.js (указаны значения по умолчанию):

NavigationBarShowDefault = 2 //максимальное количество автосворачиваемых блоков 
 //(div'ы и таблицы считаются отдельно), после которого они будут изначально свёрнуты
var NavigationBarHide = '[скрыть]' //ссылка-переключатель на развёрнутом блоке
var NavigationBarShow = '[показать]' //ссылка-переключатель на свёрнутом блоке

Технические детали Править

Механизм «сворачивания» реализуется JavaScript кодом в MediaWiki:Common.js. Этот код работает во всех современных браузерах, включая IE5.5/6/7, Firefox, Safari / KHTML, Opera 8/9. Посетители, отключившие в браузере поддержку JavaScript, будут видеть эти блоки в развёрнутом виде без ссылок спрятать/показать.

JavaScript код был скопирован из en:Mediawiki:Common.js с небольшими модификациями:

  • в английской Википедии у div’ов нет классов collapsed и expanded, зато код проверяет, не спрятан ли div изначально автором с помощью style="display:none". Такой подход имеет очевидный недостаток: посетители с выключенным JavaScript вообще не смогут увидеть содержимого спрятанных блоков (не заглядывая в HTML код страницы).
  • в английской Википедии у таблиц скобки [] не являются частью ссылки «показать/скрыть»

Наведя мышь на ссылку показать/скрыть и видя адрес ссылки, можно определить, какого типа сворачивающийся блок используется.

См. также Править

Материалы сообщества доступны в соответствии с условиями лицензии CC-BY-SA , если не указано иное.