Template:Div col end
Warning | This template is used on approximately 324,000 pages, or roughly 15851% of all pages. To avoid major disruption and server load, any changes should be tested in the template's /sandbox or /testcases subpages, or in your own user subpage. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them. |
File:Information icon4.svg | Columns are not supported by some older browsers, most notably Internet Explorer 9 and earlier and Opera 11.0 and earlier. See Template:Reflist § Browser support for columns for more information. |
Property | Internet Explorer |
Firefox | Safari | Chrome | Opera |
---|---|---|---|---|---|
column-width column-count |
≥ 10 (2012) |
≥ 1.5 (2005) |
≥ 3 (2007) |
≥ 1 (2008) |
≥ 11.1 (2011) |
columns | ≥ 10 (2012) |
≥ 9 (2011) |
≥ 3 (2007) |
≥ 1 (2008) |
≥ 11.1 (2011) |
break-before break-after break-inside |
≥ 10 (2012) |
≥ 65 (2019) |
≥ 10 (2016) |
≥ 65 (2016) |
≥ 15 (2013) |
File:Lua-Logo.svg | This template uses Lua: |
Lua error in Module:TNT at line 159: Missing JsonConfig extension; Cannot load https://commons.wikimedia.org/wiki/Data:I18n/Uses TemplateStyles.tab.
The div col (short for division columns) formats a list into columns that wrap at multiple screen resolutions responsively. It automatically breaks the available screen space into equal parts, meaning, for instance, that it is not necessary to guess how many columns to use and then figure out the dividing point(s), e.g., the halfway point to divide the list into two columns, or the one-third and two-thirds points to divide the list into three columns.
Usage
Basic usage
{{div col}} <!-- default width is 30em --> * a * b * c * d * e * f * g * h {{div col end}}
Produces:
- a
- b
- c
- d
- e
- f
- g
- h
Parameters
There are six parameters for this template:
|colwidth=
- Specifies the minimum width of the columns so that the number of columns is automatically based on screen width (that is, more columns will be shown on wider displays). If no value is supplied, the template uses a default of 30em. The width can be specified in any CSS unit of measure, for instance, the em (about the width of the capital "M" of the displayed typeface), e.g.,
colwidth=20em
. |rules=yes
- Adds vertical lines ("rules") between the columns if set to
yes
. |gap=
- Specifies the space between the content of adjacent columns, in any valid CSS width unit, e.g.,
gap=2em
. The default spacing (set by browser) is 1em. |class=
- An HTML class, or multiple space-delimited classes, to apply to the columns. For example,
class=plainlist nowrap
. |style=
- CSS styling to apply to the columns.
|small=yes
- Sets font size to 90%.
|content=
- Content to apply to the columns. This parameter is effectively equivalent to {{columns-list}}, which is a pass-through for this template.
Examples
Colwidth
{{div col|colwidth=10em}} <!-- column width of 10em --> * a * b * c * d * e * f * g * h {{div col end}}
Produces:
- a
- b
- c
- d
- e
- f
- g
- h
Rules
{{Div col|colwidth=10em|rules=yes}} <!-- column width of 10em with rules --> * a * b * c * d * e * f * g * h {{Div col end}}
Produces:
- a
- b
- c
- d
- e
- f
- g
- h
Gap
{{Div col|colwidth=10em|rules=yes|gap=2em}} <!-- column width of 10em with rules and a gap of 2em --> * a * b * c * d * e * f * g * h {{Div col end}}
Produces:
- a
- b
- c
- d
- e
- f
- g
- h
Small
{{Div col|small=yes}} <!-- Small = yes --> * a * b * c * d * e * f * g * h {{Div col end}}
Produces:
- a
- b
- c
- d
- e
- f
- g
- h
Content
{{Div col|colwidth=10em|content= <!-- content parameter doesn't need {{div col end}} --> * a * b * c * d * e * f * g * h }}
Produces:
- a
- b
- c
- d
- e
- f
- g
- h
Multiple parameters
{{Div col|colwidth=10em|rules=yes|gap=2em|small=yes}} * a * b * c * d * e * f * g * h {{Div col end}}
Produces:
- a
- b
- c
- d
- e
- f
- g
- h
Text characters without list markup
{{div col|colwidth=10em}} <!--Text characters without list markup --> a b c d e f g h {{div col end}}
Produces
a b c d e f g h
Lorem ipsum
{{div col}} <!--Lorem ipsum --> {{lorem ipsum}} {{div col end}}
Produces
Limitation
Sub-lists
The underlying CSS system is unable to break sub-lists into columns. Note the uneven formatting below:
{{Div col|colwidth=10em|rules=yes|gap=2em|style=column-count:3|content= * a * b * c ** c.d ** c.e ** c.f * g * h }}
Produces:
- a
- b
- c
- c.d
- c.e
- c.f
- g
- h
Turning off the <syntaxhighlight lang="text" class="" id="" style="" inline="1">break-inside: avoid-column;</syntaxhighlight> rule appears to help.
Tracking categories
- Category:Pages using div col with unknown parameters (0) (for erroneous use of parameter names not documented here)
- Category:Pages using div col with small parameter (3)
TemplateData
TemplateData for Div col end
Ends a multi-column list started by {{div col}}. It takes no parameters.
Parameter | Description | Type | Status | |||
---|---|---|---|---|---|---|
No parameters specified |
Redirects
{{Col div end}}
{{Colend}}
(but not{{Col end}}
){{Div end}}
{{Divcol-end}}
{{Divcolend}}
{{Divend}}
{{End div col}}
{{EndDivCol}}
See also
Column-generating template families
The templates listed here are not interchangeable. For example, using {{col-float}} with {{col-end}} instead of {{col-float-end}} would leave a HTML "div" (division) open, potentially harming any subsequent formatting. <section begin="table" />
Type | Family | Handles wiki
table code?dagger |
Responsive/ Mobile suited |
Start template | Column divider | End template |
---|---|---|---|---|---|---|
Float | "Col-float" | Yes | Yes | {{Col-float}} | {{Col-float-break}} | {{Col-float-end}} |
"Columns-start" | Yes | Yes | {{Columns-start}} | {{Column}} | {{Columns-end}} | |
Columns | "Div col" | Yes | Yes | {{Div col}} | – | {{Div col end}} |
"Columns-list" | No | Yes | {{Columns-list}} (wraps div col) | – | – | |
Flexbox | "Flex columns" | No | Yes | {{Flex columns}} | – | – |
Table | "Col" | Yes | No | {{Col-begin}}, {{Col-begin-fixed}} or {{Col-begin-small}} |
{{Col-break}} or {{Col-2}} .. {{Col-5}} |
{{Col-end}} |
dagger Can the columns handle the wiki markup {| | || |- |}
used to create tables? If not, templates that produce these elements (such as {{(!}}, {{!}}, {{!!}}, {{!-}}, {{!)}}) or HTML tags (<table>...</table>
, <tr>...</tr>
, etc.) will need to be used instead.<section end="table" />