Template:Navbox with columns/doc

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.

* 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.

Setup parameters

 * name
 * The name of the template. The name of this template, for example, is "Navbox with columns".


 * state
 * Possible values are,  ,  ,  , and the default  .  See Navbox for more information.


 * navbar
 * Possible values are,  , and the default value of blank.  See Navbox for more information.


 * border
 * Possible values are,  , and the default value of blank.  Set to   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
 * The title of the template, displayed centered in the titlebar at the top of the template.


 * above
 * Text or other elements to appear above the columns.


 * image
 * Image to the right of all of the columns.


 * imageleft
 * Image to the left of all of the columns.


 * below
 * Text or other elements to appear below the columns.

Style parameters

 * style
 * CSS style/s to apply to the template's body (i.e. including space not used by columns)


 * titlestyle
 * CSS style/s to apply to titlebar; usually  (background defaults to Navbox default).


 * abovestyle
 * belowstyle
 * CSS style/s to apply to the above and below parameters, respectively.


 * basestyle
 * CSS style/s to apply to the title, above, and below, parameters, all at the same time.


 * imagestyle
 * CSS style/s to apply to the image parameter.


 * imageleftstyle
 * CSS style/s to apply to the imageleft parameter


 * coltablestyle
 * colstyle
 * CSS style/s to apply across all columns; if used, usually  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:
 * 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:
 * 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%).
 * 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:
 * 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%).
 * 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   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 , then leave   and   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 , then leave   and   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
 * Allows up to 6 additional groups to go along with the lists below the columns.


 * listn
 * Allows up to 6 additional lists below the columns.


 * groupstyle
 * The general CSS style/s for the groups.


 * groupnstyle†
 * CSS style/s for the nth group parameter.


 * liststyle
 * The general CSS style/s for the lists.


 * listnstyle
 * CSS style/s for the nth list parameter.


 * listpadding
 * 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
 * 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 Iain Banks

...and so forth.

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

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  parameter (which is common to all three). For complex templates, it may be necessary to use nesting to achieve a desired look.

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.