Difference between revisions of "Template:Multicol"
(fixup last edit) |
m (1 revision) |
(No difference)
|
Latest revision as of 07:24, 22 August 2014
Usage
{{Multicol}}
(or {{Start multicol}}
) is used to start a multi-columned section of a page. Between each column's contents, insert {{Multicol break}}
(or {{Break multicol}}
) and close the last column with {{Multicol end}}
(or {{End multicol}}
). An example:
{{Multicol}} [or {{Start multicol}}] First column's contents. {{Multicol break}} Second column's contents. {{Multicol break}} Third column's contents. {{Multicol end}} [or {{End multicol}}]
This code produces:
First column's contents. |
Second column's contents. |
Third column's contents. |
Each column will be the same width (equally dividing the available horizontal space) and will include a small 20-pixel righthand margin (a "gutter") that prevents the contents in one column from touching those in the column to its right. (For further examples of how this template can be used, see User:franl's userpage.)
While it is technically possible to have many columns, accessibility implies that the use of any more than four or five should usually be avoided. If the number of items listed is fewer than six (e.g. fewer than two columns of three items), a column-based format is probably also best avoided.
Parameters
This template has two optional parameters: the overall width of the set of columns and the width of the gutter. The overall width of the set of columns can be an absolute value (e.g. 40em
) or a percentage of the available page width (e.g. 50%
). It defaults to 100%
. The second parameter is the gutter used between columns (which, as mentioned above, defaults to 20px).
{{Multicol break}} / {{Break multicol}} also takes an optional parameter for the gutter to its right, defaulting to 20px.
Example
To create a three-column section, with ten-pixel righthand gutters, that extends across 50% of the available width:
{{Start multicol |50% |8px}} First column's contents. {{Break multicol |8px}} Second column's contents. {{Break multicol |8px}} Third column's contents. {{End multicol}}
Result:
First column's contents. |
Second column's contents. |
Third column's contents. |
A {{Multicol}}umned region is left-aligned with regard to the area of the page (the "block") it occupies. This may be switched to a centered or righthand alignment thus:
<div style="text-align:center;"> {{startcenter}} {{Start multicol (...) }} ...... {{End multicol}} {{endcenter}} </div> |
<div style="text-align:right;"> {{Start multicol (...) }} ...... {{End multicol}} </div> |
Related templates
Layouts rendered by {{Multicol}} and accompanying templates may also be produced by {{Col-begin}} and its accompanying templates, but, depending on context and requirements, it may be easier to use one set rather than the other. Each of the following examples produce the same three-column table in which all columns have equal width:
{{Multicol}} Column 1 {{Multicol-break}} Column 2 {{Multicol-break}} Column 3 {{Multicol-end}} |
{{Col-begin}} {{Col-3}} Column 1 {{Col-3}} Column 2 {{Col-3}} Column 3 {{Col-end}} |
It's simpler to add more columns to the {{Multicol}} example than to the {{Col-begin}} example, because in the latter case, all occurrences of {{Col-3}} would need to be changed to {{Col-4}}.
These templates groups are not interchangeable. If you start with {{Multicol}}, but end with the plain {{col-end}} templates, then you'll have an unclosed <div> tag that can harm the formatting of the rest of the page. The problems created by mixing these templates is not easily visible for all users, so please don't assume that it's working properly just because it looks right for you. If you start with {{Multicol}}, then you must use {{Multicol-break}} and {{Multicol-end}}, not {{col-break}} and {{col-end}} (and vice versa).
TemplateData
multicol
<templatedata> {
"description": "Starts a multi-column section. Subsequent columns are started by|
|}",
"params": { "1": { "label": "Table width", "description": "Width of table, a CSS width e.g. '50%'.", "type": "string", "default": "100%", "required": false }, "2": { "label": "Column width", "description": "Width of the first column.", "type": "string", "default": "20px", "required": false } }
} </templatedata>
See also
Column-generating template families
Caution | The templates listed in the table below are not interchangeable across rows (i.e. across families). For example, using {{Multicol}} with {{End}} instead of {{Multicol-end}} would leave an HTML "div" (division) open, potentially harming any subsequent formatting. |
Family | Wiki table codeFile:Dagger-14-plain.png | Starting template | Break between columns | Ending template |
"Col" | {{Col-begin}} or {{Col-begin-small}} | {{Col-break}}
| {{Col-end}} or {{End}} | |
"Col-float" | 13px | {{Col-float}} | {{Col-float-break}} | {{Col-float-end}} |
"Columns" | 13px | {{Columns}} | – | – |
"Columns-start" | 13px | {{Columns-start}} | {{Column}} | {{Columns-end}} |
"Div col" | 13px | {{Div col}} or {{Columns-list}} | – | {{Div col end}} |
"Multicol" | {{Multicol}} | {{Multicol-break}} | {{Multicol-end}} | |
"TMB" | {{Top}} | {{Mid}} | {{Bottom}} |
File:Dagger-14-plain.png i.e. can the columns handle the wiki markup {| | || |- |} used to create tables? If not, templates that produce these elements (such as {{(!}}, {{!}}, {{!!}}, {{!-}}, {{!)}}) and/or HTML tags (<table>...</table>
, <tr>...</tr>
, etc) will need to be used instead.
The above documentation is transcluded from Template:Multicol/doc. (edit | history) Editors can experiment in this template's sandbox (create | mirror) and testcases (create) pages. Please add categories to the /doc subpage. Subpages of this template. |