Википедия:Сворачивающиеся блоки — различия между версиями
(→См. также: пример) |
Petrov (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 17:29, 3 декабря 2011
Сворачивающиеся блоки дают возможность динамически «прятать» своё содержимое (с помощью JavaScript в браузере посетителя), оставляя только заголовок. Существует два вида сворачивающихся блоков: div’ы и таблицы.Содержание
Использование
Сворачивающиеся блоки обычно используются для навигационных шаблонов и скрытия больших кусков необязательного текста, то есть такой информации, которая заинтересует не всех читателей.
По возможности желательно не использовать код сворачивающихся div’ов и таблиц напрямую, а использовать уже существующие базовые шаблоны. Например, div’ы используются в
- {{Навигационная полоса}}
- {{hider}}
- {{Начало скрытого блока}} и {{Конец скрытого блока}}
а сворачивающаяся таблица использована в
Также см. Категория:Навигационные шаблоны:Для шаблонов.
div
Для создания сворачивающегося div к нему добавляется класс NavFrame, при этом внутренний блок с классом NavHead образует всегда видимый заголовок, а любые внутренние блоки с классами NavContent и NavPic прячутся:
<source lang="html4strict"> Заголовок Содержание Изображение |
Заголовок
Изображение
Содержание
|
NavFrame создавался в основном для навигационных шаблонов, поэтому используемые в этом блоке классы имеют несколько CSS правил в MediaWiki:Common.css. При необходимости можно задать свои стили прямо в викикоде страницы.
Количество блоков содержимого неограничено, но обычно используется один NavContent для основного содержимого, и от нуля до двух NavPic. Поскольку в Common.css у NavPic задан стиль «плавать слева», для добавления второго изображения справа нужно использовать <div class="NavPic" style="float:right">
.
Таблица
Для того, чтобы сделать таблицу сворачивающейся, нужно добавить ей класс collapsible, при этом в первую заголовочную ячейку («!» в викикоде) первой строки добавляется переключатель [скрыть], прячущий все остальные строки:
{| class="standard collapsible" !colspan=3|Заголовок |- |Ячейка 1*1||Ячейка 2*1||Ячейка 3*1 |- |Ячейка 1*2||Ячейка 2*2||Ячейка 3*2 |} |
|
{| class="collapsible" |Заголовок 1 |Заголовок 2 !Заголовок 3 |- |}
Поскольку переключатель в левой части таблицы выглядит не очень красиво, обычно первую строку делают состоящей из одной ячейки, как в примере выше.
Некоторые шаблоны ((пример) делают только последнюю ячейку в первой строке заголовочной, как в примере справа.
collapsible
таблица не имеет CSS в Common.css и в этом смысле является более универсальной, чем div.NavFrame. Для спрятывания произвольного содержимого можно использовать таблицу с одной заголовочной и одной обычной ячейкой.
Начальное состояние
Начальное состояние сворачивающегося блока (сразу после загрузки страницы) можно изменить с помощью одного из трёх дополнительных классов:
- collapsed означает, что блок будет свёрнут
- expanded означает, что блок будет развёрнут
- autocollapse: все блоки с этим классом будут свёрнуты, только если общее количество сворачивающихся блоков этого типа (div’ы и таблицы считаются отдельно) на странице больше двух.
Если дополнительные классы не указаны, то по умолчанию таблицы изначально развёрнуты (expanded
), а div'ы имеют состояние autocollapse
.
Пример:
<source lang="html4strict"> Свёрнутый
по умолчанию блок |
Свёрнутый
по умолчанию блок
|
Персональные настройки
Зарегистрированные участники могут изменять для себя некоторые настройки сворачиваемых div’ов и таблиц, изменяя значения следующих параметров у себя в monobook.js (указаны значения по умолчанию): <source lang="javascript"> NavigationBarShowDefault = 2 //максимальное количество автосворачиваемых блоков
//(div'ы и таблицы считаются отдельно), после которого они будут изначально свёрнуты
var NavigationBarHide = '[скрыть]' //ссылка-переключатель на развёрнутом блоке var NavigationBarShow = '[показать]' //ссылка-переключатель на свёрнутом блоке </source>
Технические детали
Механизм «сворачивания» реализуется JavaScript кодом в MediaWiki:Common.js, работающим во всех современных браузерах, включая IE 5.5+, Firefox, Chrome/Safari/KHTML, Opera 8+. Посетители, отключившие в браузере поддержку JavaScript, будут видеть эти блоки в развёрнутом виде без ссылок спрятать/показать.
JavaScript код был скопирован из en:Mediawiki:Common.js и затем переработан. Основные отличия:
- добавлен класс expanded для div’ов;
- у таблиц скобки являются частью ссылки «[скрыть]» как и у div'ов.
Также см. en:Wikipedia:NavFrame и en:Help:Collapsing
Наведя мышь на ссылку показать/скрыть и видя адрес ссылки, можно определить, какого типа сворачивающийся блок используется.
См. также
ja:Help:ダイナミック・ナビゲーション・ボックス ko:위키백과:NavFrame simple:Wikipedia:NavFrame zh-yue:Wikipedia:NavFrame