Template:Div col

From OpenDominion
Revision as of 19:29, 19 January 2021 by InternetFett (talk | contribs)
Jump to navigation Jump to search


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.

This template's parameters

Descriptions

There are six parameters for this template:

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.
Adds vertical lines ("rules") between the columns if set to yes.
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.
CSS styling to apply to the columns.
Sets font size to 90%.
Content to apply to the columns.

Example of "colwidth" parameter

{{div col|colwidth=10em}} <!-- column width of 10em -->
* a
* b
* c
* d
* e
* f
* g
* h
{{div col end}}

Produces: <templatestyles src="Div col/styles.css"/>

Inventory how many pages use small=yes 


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


Example of "rules" parameter

{{Div col|colwidth=10em|rules=yes}} <!-- column width of 10em with rules -->
* a
* b
* c
* d
* e
* f
* g
* h
{{Div col end}}

Produces: <templatestyles src="Div col/styles.css"/>

Inventory how many pages use small=yes 


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


Example of "gap" parameter

{{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: <templatestyles src="Div col/styles.css"/>

Inventory how many pages use small=yes 


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


Example of "small" parameter

{{Div col|small=yes}} <!-- Small = yes -->
* a
* b
* c
* d
* e
* f
* g
* h
{{Div col end}}

Produces: <templatestyles src="Div col/styles.css"/>

Inventory how many pages use small=yes


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


Example of "content" parameter

{{Div col|colwidth=10em|content= <!-- content parameter doesn't need {{div col end}} -->
* a
* b
* c
* d
* e
* f
* g
* h
}}

Produces: <templatestyles src="Div col/styles.css"/>

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

Inventory how many pages use small=yes



Usage with multiple parameters

{{Div col|colwidth=10em|rules=yes|gap=2em|small=yes}}
* a
* b
* c
* d
* e
* f
* g
* h
{{Div col end}}

Produces: <templatestyles src="Div col/styles.css"/>

Inventory how many pages use small=yes


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

Colwidth 20em

{{div col|colwidth=20em}}
* a
* b
* c
* d
* e
* f
* g
* h
{{div col end}}

Produces: <templatestyles src="Div col/styles.css"/>

Inventory how many pages use small=yes 


  • 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 <templatestyles src="Div col/styles.css"/>

Inventory how many pages use small=yes 


a b c d e f g h


Lorem ipsum

{{div col|colwidth=20em}} <!--Lorem ipsum -->
{{lorem ipsum}}
{{div col end}}

Produces <templatestyles src="Div col/styles.css"/>

Inventory how many pages use small=yes 


Template:Lorem ipsum


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: <templatestyles src="Div col/styles.css"/>

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

Inventory how many pages use small=yes



Turning off the Template:Code rule appears to help.