Вики Сообщества
Вики Сообщества
Advertisement
Вики Сообщества

Для создания уникального стиля инфобоксов необходимо использовать CSS, доступ к которому можно получить через страницу MediaWiki:Fandomdesktop.css.

Без CSS инфобоксы вашей вики будут окрашены в цвета вики, выбранные через Конструктор тем.

Общий стиль[]

Стиль для всего инфобокса можно задать, используя параметры type, theme и theme-source. Они размещаются в верхнем теге <infobox>.

Параметр type[]

Параметр type задаёт логический тип инфобокса и может также использоваться в CSS. Например, задав type="character", можно будет в CSS прописывать стиль для инфобокса как type-character:

Код инфобокса
<infobox type="character">
  ...
</infobox>
Код CSS
.portable-infobox.type-character {
   ...
}

Например, этот код позволит окрасить инфобокс для персонажей в красный цвет:

.portable-infobox.type-character .pi-background {
    background-color: #CF3D0C;
}

Параметр theme[]

Этот параметр задаёт пользовательский стиль для всего инфобокса. Чтобы задать свой стиль инфобокса (например, назовём стиль water), разместите на странице MediaWiki:Fandomdesktop.css и на странице инфобокса следующий код:

Код инфобокса
<infobox theme="water">
  ...
</infobox>
Код CSS
.portable-infobox.pi-theme-water {
   ...
}

Параметр theme-source[]

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

Код инфобокса
<infobox theme-source="статус">
  // содержимое инфобокса
 <data source="статус"><label>Статус персонажа</label></data>
</infobox>
Код CSS
.portable-infobox.pi-theme-мёртв {
    background-color: red;
}

В результате, инфобокс окрасится в красный, когда вы в тексте статьи укажете следующее:

{{Персонаж
 |статус = мёртв
}}

Основные классы для CSS[]

Эти классы используются в CSS для тегов инфобокса:

Title
.pi-title
Header
.pi-header
Navigation
.pi-navigation
Groups
.pi-group
Data tag
.pi-data
Data Value
.pi-data-value
Data Label
.pi-data-label
Image
.pi-image
Image Tabs
.pi-image-collection

Вспомогательные классы для CSS[]

Эти стили можно использовать, чтобы поменять один или несколько элементов инфобокса без задания общего стиля:

.pi-background
меняет фоновый цвет
.pi-secondary-background
меняет фоновый цвет заголовков
.pi-font
меняет основной шрифт
.pi-secondary-font
меняет шрифт заголовков и строк
.pi-item-spacing
создаёт отступы вокруг всех элементов инфобокса
.pi-border-color
изменяет цвет линий в инфобоксе

Стили, которые относятся к каждому тегу модульных инфобоксов, можно посмотреть на странице Справка:Инфобоксы/теги. Нажмите «развернуть» возле нужного вам тега, и вы увидите HTML-код со списком стилей.

Простые примеры[]

Ниже приведены несколько простых примеров CSS, используя и модифицируя которые можно создать стиль для инфобоксов своей вики.

Код Описание
.portable-infobox {
   width: 300px;
}
Задаёт ширину инфобокса равной 300рх
.portable-infobox .pi-data-label {
    min-width: 150px;
}
Задаёт ширину ячеек для названий полей равной 150рх
.portable-infobox.pi-background {
   background-color: #ff0000;
}
Изменяет фоновый цвет инфобокса
.portable-infobox .pi-secondary-background {
   background-color: #00ff00;
}
Изменяет цвет заголовков внутри инфобокса
.portable-infobox .pi-border-color {
   border-color: #00ff00;
}
Изменяет цвет рамки инфобокса
.portable-infobox .pi-item-spacing {
   padding: 10px 20px;
}
Добавляет отступы внутренним элементам инфобокса
.portable-infobox .pi-font {
    font-size: 16px;
}
Изменяет размер шрифта инфобокса
.portable-infobox .pi-secondary-font {
    font-size: 18px;
}
Изменяет размер шрифта внутренних заголовков и строк инфобокса
.portable-infobox .pi-title {
    font-size: 24px;
}
Изменяет размер шрифта заголовка инфобокса
.portable-infobox.pi-theme-mystyle .pi-secondary-background {
   background-color:#334;
}
Изменяет цвет заголовков, если задан стиль theme="mystyle"
.portable-infobox.pi-theme-mystyle .pi-caption {
   font-size: 16px;
}
Изменяет шрифт описания изображения, если задан стиль theme="mystyle"
.portable-infobox.pi-image-thumbnail {
   width: 100%;
   height: 100%;
}
Изображение будет занимать всё отведённое ему пространство
.portable-infobox.pi-image {
    background-color: transparent;
}
Прозрачный цвет (или любой другой) за картинкой в инфобоксе

Расширенные параметры[]

Все элементы инфобокса имеют атрибут source, который работает в HTML с параметром data-attribute, таким как data-source="ATK". Это позволяет прописать его в CSS или JS как .pi-item[data-source=ATK], чтобы задать ему определённый стиль. В комбинации с type это даёт возможность отказаться от выбора стиля типа nth-of-type и открывает дополнительные возможности для стилизации инфобоксов.

Эти параметры позволяют указывать любые элементы инфобокса, вне зависимости от того, принимают ли они входящий параметр или нет, включая атрибуты для <title>, <group>, <data>, <header>, <image> и <navigation>. Как и в случае data-source, можно использовать <data name="bar">, чтобы указать конкретный элемент инфобокса .pi-item[data-item-name=bar].

Advertisement