Jump to content

Template:Div col/doc

From bestpressey

__EXPECTED_UNCONNECTED_PAGE__

CSS3 multiple-column layout browser support      
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)
≥ 50
(2016)
≥ 37
(2016)

Lua error in Module:TNT at line 159: Missing JsonConfig extension; Cannot load https://commons.wikimedia.org/wiki/Data:I18n/Uses TemplateStyles.tab.

The template {{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. To prevent a section of a list being broken, the template {{no col break}} can be used.

Usage

Basic usage

<syntaxhighlight lang="wikitext">{{div col}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

{{div col end}}</syntaxhighlight> Produces:

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

Parameters

There are six parameters for this template:

<syntaxhighlight lang="wikitext" inline style="display
none;" />|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 relative or absolute length unit, for instance, the em (about the width of the capital "M" of the displayed typeface), e.g., colwidth=20em.
<syntaxhighlight lang="wikitext" inline style="display
none;" />|rules=yes
Adds vertical lines ("rules") between the columns if set to yes.
<syntaxhighlight lang="wikitext" inline style="display
none;" />|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.
<syntaxhighlight lang="wikitext" inline style="display
none;" />|class=
An HTML class, or multiple space-delimited classes, to apply to the columns.
<syntaxhighlight lang="wikitext" inline style="display
none;" />|style=
CSS styling to apply to the columns.
<syntaxhighlight lang="wikitext" inline style="display
none;" />|small=yes
Sets font size to 90%.
<syntaxhighlight lang="wikitext" inline style="display
none;" />|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

Fixed width

<syntaxhighlight lang="wikitext">{{div col|colwidth=10em}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

{{div col end}}</syntaxhighlight> Produces:

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
Variable width

<syntaxhighlight lang="wikitext">{{div col|colwidth=10vw}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

{{div col end}}</syntaxhighlight> Produces:

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

Rules

<syntaxhighlight lang="wikitext">{{div col|colwidth=10em|rules=yes}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

{{div col end}}</syntaxhighlight> Produces:

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

Gap

<syntaxhighlight lang="wikitext">{{div col|colwidth=10em|rules=yes|gap=2em}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

{{div col end}}</syntaxhighlight> Produces:

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

Small

<syntaxhighlight lang="wikitext">{{div col|small=yes}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

{{div col end}}</syntaxhighlight> Produces:

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

Content

<syntaxhighlight lang="wikitext">{{div col|colwidth=10em|content=

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

}}</syntaxhighlight> Produces:

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

Multiple parameters

<syntaxhighlight lang="wikitext">{{div col|colwidth=10em|rules=yes|gap=2em|small=yes}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

{{div col end}}</syntaxhighlight> Produces:

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

Text characters without list markup

<syntaxhighlight lang="wikitext">{{div col|colwidth=10em}} a b c d e f g h

{{div col end}}</syntaxhighlight> Produces:

a b c d e f g h

Lorem ipsum

<syntaxhighlight lang="wikitext">{{div col}} {{lorem ipsum}}

{{div col end}}</syntaxhighlight> Produces:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Limitation

Sub-lists

The underlying CSS system is unable to break sub-lists into columns. Note the uneven formatting below:

<syntaxhighlight lang="wikitext">{{div col|colwidth=10em|rules=yes|gap=2em|style=column-count:3|content=

  • a
  • b
  • c
    • c.d
    • c.e
    • c.f
  • g
  • h

}}</syntaxhighlight> Produces:

  • a
  • b
  • c
    • c.d
    • c.e
    • c.f
  • g
  • h

Turning off the <syntaxhighlight lang="text" class="" style="" inline="1">break-inside: avoid-column;</syntaxhighlight> rule appears to help.

Chrome-based browsers can separate images from captions

In certain circumstances, Chrome-based browsers can separate images from their captions, placing the caption in the next column. This bug was reported in 2018 as T193163, and it appears to be a bug in Chromium, tracked as issue 40578413.

Tracking categories

TemplateData

This is the TemplateData for this template used by TemplateWizard, VisualEditor and other tools. See a monthly parameter usage report for Template:Div col in articles based on its TemplateData.

TemplateData for Div col

Breaks a list into columns. It automatically breaks each column to an equal space, so you do not manually have to find the halfway point on two columns. The list is provided by |content= or closed with {{div col end}}.

Template parameters

ParameterDescriptionTypeStatus
Column widthcolwidth

Specifies the width of columns, and determines dynamically the number of columns based on screen width; more columns will be shown on wider displays.

Default
30em
Example
22em
Stringoptional
Rulesrules

Produces vertical rules between the columns if set to yes.

Example
yes
Stringoptional
Gap sizegap

Specifies the space between the content of adjacent columns.

Example
2em
Stringoptional
HTML classclass

Specifies any class or multiple space-delimited classes.

Example
plainlist nowrap
Stringoptional
CSS stylestyle

Specifies any custom styling.

Stringoptional
Contentcontent

Specifies the content to divide into columns

Contentoptional
Small fontsmall

Use a smaller font size (90%)

Example
yes
Stringoptional

Redirects

Redirects to {{div col}}:

Redirects to {{div col end}}:

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 <div>...</div> open, potentially harming any subsequent formatting.

  • "Responsive/mobile suited" refers to whether more than one column will show up in cell phones. See tests here. Some templates need to be updated to work in cell phones too. Please use mobile-suited templates, or straight divs. For why, see WP:Access. See discussion.

<section begin="table" />

Column templates
Type Family
Deprecated.
Replace over time
Handles wiki
table code?[lower-alpha 2]
Responsive/
mobile suited
Dependent on
media queries
Can form
multiple columns
Visual Editor–
suited
Start
template
Column
divider
End
template
Float "col-float" Yes Yes Yes Yes {{col-float}} {{col-float-break}} {{col-float-end}}
"columns-start" Yes Yes Yes Yes {{columns-start}} {{column}} {{columns-end}}
Float "stack" Yes Yes No {{stack}} or
{{stack begin}}
{{stack end}}
Columns "div col" Yes Yes Yes {{div col}} instead use {{no col break}} {{div col end}}
"columns list" Yes No Yes {{columns list}} (wraps div col) — —
Flexbox "flex columns" Yes No Yes {{flex columns}} — —
Flexbox "flexbox wrap" Yes Yes Yes No Yes[lower-alpha 3] {{flexbox wrap|start}} {{flexbox wrap|break}} {{flexbox wrap|end}}
Table "col" Yes Yes Yes No Yes {{col-begin}},
{{col-begin-fixed}} or
{{col-begin-small}}
{{col-break}} or
{{col-2}} .. {{col-5}}
{{col-end}}
  1. ↑ See talk
  2. ↑ Can the template handle the basic wiki markup {| | || |- |} used to create tables? If not, special templates that produce these elements (such as {{(!}}, {{!}}, {{!!}}, {{!-}}, {{!)}}) or HTML tags (<table>...</table>, <tr>...</tr>, etc.) need to be used instead.
  3. ↑ Used to create blocks of content that are placed side-by-side if there is available space, otherwise the blocks that cannot fit are wrapped below the preceding blocks.

<section end="table" />


See also