Шаблон:Navbox with columns/doc

Материал из Saltyverse Wiki
Версия от 10:13, 24 ноября 2024; Severino dan (обсуждение | вклад) (1 версия импортирована)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

A navigation box that presents its content in columns. Originally intended to provide a relatively straightforward means to align links prefixed by flag icons, e.g. in templates offering links to country articles.

Basic syntax

Only required parameters and colwidth included.

{{Navbox with columns
| name = {{subst:PAGENAME}}
| title = 
| colwidth =  <!--(to set a default width for each column,
                   preferably in a proportional unit such as 'em'*)-->
| col1 = 
| col2 = 
}}
* See Em (typography). Using proportional units means the template should still be displayed correctly across a range of browser font-sizes. If colwidth is not specified, a default 10.0em is used.

Parameters

Setup parameters

name[1]
The name of the template. The name of this template, for example, is "Navbox with columns".
state[1]
Possible values are collapsed, uncollapsed, plain, off, and the default autocollapse. See {{Navbox}} for more information.
navbar[1]
Possible values are plain, off, and the default value of blank. See {{Navbox}} for more information.
border[1]
Possible values are child, none, and the default value of blank. Set to child if you wish to use the navbox inside of another navbox; with this option, the child navbox is borderless and fits snuggly inside of its parent navbox. The parent navbox may be the list area of {{Navbox}}, a columns of another {{Navbox with columns}}, or a section of {{Navbox with collapsible groups}}. See {{Navbox}} for more information and examples.

Perimeter parameters

i.e. parameters affecting the inclusion/formatting of items around the template's perimeter.

title[1]
The title of the template, displayed centered in the titlebar at the top of the template.
above[1]
Text or other elements to appear above the columns.
image[1]
Image to the right of all of the columns.
imageleft[1]
Image to the left of all of the columns.
below[1]
Text or other elements to appear below the columns.

Style parameters

style[1]
CSS style/s to apply to the template's body (i.e. including space not used by columns)
titlestyle[1]
CSS style/s to apply to titlebar; usually background:color (background defaults to Navbox default).
abovestyle[1]
belowstyle[1]
CSS style/s to apply to the above and below parameters, respectively.
basestyle[1]
CSS style/s to apply to the title, above, and below, parameters, all at the same time.
imagestyle[1]
CSS style/s to apply to the image parameter.
imageleftstyle[1]
CSS style/s to apply to the imageleft parameter
coltablestyle
colstyle
CSS style/s to apply across all columns; if used, usually background:color per titlestyle above.
oddcolstyle
evencolstyle
CSS style/s to apply to all odd/even-numbered columns, respectively.
colnstyle
CSS style/s to apply to the nth column only.
colheaderstyle
CSS style/s to apply to all column headers.
colnheaderstyle
CSS style/s to apply to the nth column header.
colnfooterstyle
CSS style/s to apply to the nth column footer cell.

Columns parameters

colwidth
Width, preferably in a proportional unit such as 'em', or as a percentage, used for each column whose width not specified by colNwidth below. Defaults to 10em. Examples:
  • colwidth = 15.0em
  • colwidth = 25%
fullwidth
If set to anything, then the total width of the columns are scaled linearly to make the sum of the widths 100%. A rather advanced parameter, this usually need not be used and should be left blank. If a colheader or colfooter is used, then fullwidth is used automatically. Example:
  • fullwidth = on
padding
Padding before first column, preferably in a proportional unit. Defaults to 5em. Padding is disabled by setting it to 0 (or 0em, or 0%).
colnwidth
The nth column's width (overrides colwidth above).
coln
The content of the nth column. If any columns are used, then col1 is required. There can be a maximum of 20 columns.
colnheader
A header cell for the nth column that appears above the column. See below for examples.
colnfooter
A footer cell that appears below the nth column.
colnheadercolspan
A number specifying how many columns the nth column header should span. It defaults to 1. If it is greater than one, then do not specify column headers that it covers. For example, if col1headercolspan = 3, then leave col2header and col3header blank.
colnfootercolspan
A number specifying how many columns the nth column footer should span. It defaults to 1. If it is greater than one, then do not specify column footers that it covers. For example, if col1footercolspan = 3, then leave col2footer and col3footer blank.

Additional groups/lists

You may wish to add a few extra groups and/or lists below the columns. The following parameters are given to provide such functionality. See {{Navbox}} for a more complete description of how they work, and for more examples.

groupn[1]
Allows up to 6 additional groups to go along with the lists below the columns.
listn[1]
Allows up to 6 additional lists below the columns.
groupstyle[1]
The general CSS style/s for the groups.
groupnstyle
CSS style/s for the nth group parameter.[1]
liststyle[1]
The general CSS style/s for the lists.
listnstyle
CSS style/s for the nth list parameter.
listpadding[1]
Amount of padding to have in each list cell.
oddstyle
evenstyle
Applies to odd/even list numbers. Overrules styles defined by liststyle. The default behavior is to add striped colors (white and gray) to odd/even rows, respectively, in order to improve readability. These should not be changed except in extraordinary circumstances.
evenodd [swap, even, odd, off]
See {{Navbox}} for description.

Microformats

bodyclass
This parameter is inserted into the "class" attribute for the infobox as a whole.
titleclass
This parameter is inserted into the "class" attribute for the infobox's title caption.

This template supports the addition of microformat information. This is done by adding "class" attributes to various data cells, indicating what kind of information is contained within. To flag a navbox as containing hCard information about a person, for example, add the following parameter:

|bodyclass = vcard

and

|titleclass = fn

or (for example):

|title = The books of <span class="fn">[[Iain Banks]]</span>

...and so forth.

See Wikipedia:WikiProject Microformats for more information on adding microformat information to Wikipedia, and microformat for more information on microformats in general.

Examples

Basic example

 {{Navbox with columns
 | name = East Asia Summit (EAS)
 | title = [[East Asia Summit|East Asia Summit (EAS)]]
 | listclass = plainlist
 | width = 18.25em
 | padding = 10em
 | aboveclass = hlist
 | abovestyle = font-weight: bold;

 | above =
 * [[First East Asia Summit|First]]
 * [[Second East Asia Summit|Second]]
 * [[Third East Asia Summit|Third]]
 * [[Fourth East Asia Summit|Fourth]]
 * [[Fifth East Asia Summit|Fifth]]
 * [[Sixth East Asia Summit|Sixth]]
 * [[Seventh East Asia Summit|Seventh]]

 | col1 =
 * [[Australia]]
 * [[Brunei]]
 * [[Burma]]

 | col2 =
 * [[Cambodia]]
 * [[China]]
 * [[India]]

 | col3 =
 * [[Indonesia]]
 * [[Japan]]
 * [[Laos]]

 | col4 =
 * [[Malaysia]]
 * [[New Zealand]]
 * [[Philippines]]

 | col5 =
 * [[Russia]]
 * [[Singapore]]
 * [[South Korea]]

 | col6width = 17em
 | col6 =
 * [[Thailand]]
 * [[United States]]
 * [[Vietnam]]
 }}

Example with percentage widths

 {{Navbox with columns
 | name = Transit visibility table
 | titlestyle = background:silver;
 | title = [[Astronomical transit|Transit]] visibility from [[inferior and superior planets|planets superior]] to the transiting body
 | listclass = plainlist
 | colwidth = 14.2857%
 | colstyle = text-align:center;

 | col1header = Venus
 | col1 = 
 * [[Transit of Mercury from Venus|Mercury]]

 | col2header = Earth
 | col2 = 
 * [[Transit of Mercury|Mercury]]
 * [[Transit of Venus|Venus]]

 | col3header = Mars
 | col3 = 
 * [[Transit of Mercury from Mars|Mercury]]
 * [[Transit of Venus from Mars|Venus]]
 * [[Transit of Earth from Mars|Earth]]

 | col4header = Jupiter
 | col4 =
 * [[Transit of Mercury from Jupiter|Mercury]]
 * [[Transit of Venus from Jupiter|Venus]]
 * [[Transit of Earth from Jupiter|Earth]]
 * [[Transit of Mars from Jupiter|Mars]]

 | col5header = Saturn
 | col5 = 
 * [[Transit of Mercury from Saturn|Mercury]]
 * [[Transit of Venus from Saturn|Venus]]
 * [[Transit of Earth from Saturn|Earth]]
 * [[Transit of Mars from Saturn|Mars]]
 * [[Transit of Jupiter from outer planets|Jupiter]]

 | col6header = Uranus
 | col6 = 
 * [[Transit of Mercury from Uranus|Mercury]]
 * [[Transit of Venus from Uranus|Venus]]
 * [[Transit of Earth from Uranus|Earth]]
 * [[Transit of Mars from Uranus|Mars]]
 * [[Transit of Jupiter from outer planets|Jupiter]]
 * [[Transit of Saturn from outer planets|Saturn]]

 | col7header = Neptune
 | col7 = 
 * [[Transit of Mercury from Neptune|Mercury]]
 * [[Transit of Venus from Neptune|Venus]]
 * [[Transit of Earth from Neptune|Earth]]
 * [[Transit of Mars from Neptune|Mars]]
 * [[Transit of Jupiter from outer planets|Jupiter]]
 * [[Transit of Saturn from outer planets|Saturn]]
 * [[Transit of Uranus from Neptune|Uranus]]
 }}

Example with colnheader and colnfooter

The gray background for the columns is added for illustration only.

Example with colnheader using colnheadercolspan

The gray background for the columns is added for illustration only. This example shows the colnheadercolspan parameter being used, but you may also use colnfootercolspan to adjust the span of the footer cells.

Example to illustrate most fields

The gray background and centered text for the columns is for illustration only. The columns default to an off-white background and left text alignment. This example shows how you can use up to six additional groups/lists after the columns.

Using child navboxes

All three types of navbox templates, namely {{Navbox}}, {{Navbox with columns}}, and {{Navbox with collapsible groups}}, can be nested inside of one another using the border parameter (which is common to all three). For complex templates, it may be necessary to use nesting to achieve a desired look.

Nesting plain navboxes

To nest a plain navbox (that is, a navbox that would be specified with the {{Navbox}} template) inside a column, set the coln parameter to child or subgroup. Elements of the child navbox can be specified by prepending coln_ to the parameter names (e.g. col1_list1). Child navboxes can be nested by adding an additional prefix (e.g. col1_1_list1).

To nest a plain navbox inside a list, set the listn parameter to child or subgroup. Elements of the child navbox can be specified by prepending childn_, subgroupn_, or just n_ to the parameter names (e.g. 1_list1). Child navboxes can be nested by adding an additional prefix (e.g. 1_1_list1).

The basic code for doing this is as follows (which adds a subgroup for the first column and for the first group/list area):

{{Navbox with columns
| name = {{subst:PAGENAME}}
| title = Title

| col1 = child
    | col1_title = [optional]
    
    | col1_group1 = [optional]
    | col1_list1  = 
    ...list contents...
...

| group1 = Group Title
| list1  = child
  | 1_title = [optional]

  | 1_group1 = [optional]
  | 1_list1  = child
    | 1_1_title = [optional]
    
    | 1_1_group1 = [optional]
    | 1_1_list1  = 
    ...list contents...
  ...
...
}}

Nesting Navbox with columns in itself

This example shows how one can nest multiple {{Navbox with columns}} templates to get the right look. Edit this page to see the code. There is a main {{Navbox with columns}} and two additional {{Navbox with columns}} templates, with the "child" option set (see code).

Nesting other Navbox forms

This example shows {{Navbox}}, {{Navbox with collapsible groups}} and {{Navbox with columns}} all working together. Edit this page to see the code. Note that each of the child navboxes has the first parameter set to child.

Technical details

  • This template uses Module:Navbox with columns which in turn calls Module:Navbox to render the actual navbox.
  • Navbox templates, including this one, are a major contributor to the post-expand include size of pages, and can cause pages to exceed the limit and not render correctly. There are a few ways to mitigate this.
    • {{Navbox with columns}} can be replaced with {{#invoke:Navbox with columns|navbox}}, which approximately halves the include size
    • Nesting other templates inside of a navbox can cause the include size increase by a factor of two or more. This template currently supports the same in-line child syntax supported by {{Navbox}}, which mitigates this, but only for plain Navboxes (not other Navboxes with collapsible groups or Navboxes with columns).

Aliases

Footnotes

  1. 1,00 1,01 1,02 1,03 1,04 1,05 1,06 1,07 1,08 1,09 1,10 1,11 1,12 1,13 1,14 1,15 1,16 1,17 1,18 1,19 1,20 1,21 Parameters marked with a footnote [1] are parameters in common with the sister templates {{Navbox}} and {{Navbox with collapsible groups}}. A much more complete description of those parameters is available at {{Navbox}}.

Tracking category

See also

Navigation templates comparison
Template Collapsible Image Groups Style (body)
parameter/s
{{Navbox}} collapsible Left/right of body Yes Yes
{{Navbox with collapsible groups}} collapsible Left/right of body and/or in each list Yes Yes
{{Navbox with columns}} collapsible Left/right of columns No Yes
Collapsible attributes
Type CSS classes JavaScript Collapses when Custom
initial state
Nesting
Collapsible tables mw-collapsible jQuery.makeCollapsible 2 or more autocollapse on page Yes Yes