Template:Div col/doc: Difference between revisions

From HIBIKIFORUM
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(3 intermediate revisions by the same user not shown)
Line 4: Line 4:
__NOTOC__
__NOTOC__


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.
The {{tl|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 ==
== Usage ==
=== Basic Usage ===
=== Basic Usage ===
<pre>
{{Pre|
{{div col}}<!-- default width is 30em -->
{{((}}{{fcb|#4169e1|div col}}{{))}}<nowiki><!-- default width is 30em --></nowiki>
* a
* a
* b
* b
Line 18: Line 18:
* g
* g
* h
* h
{{div col end}}
{{((}}{{fcb|#4169e1|div col end}}{{))}}
</pre>
}}
Produces:
Produces:
{{div col}}
{{div col}}
Line 34: Line 34:
== Parameters ==
== Parameters ==
There are six parameters for this template:  
There are six parameters for this template:  
; {{para|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#Length units|CSS unit of measure]], for instance, the [[Em (typography)|em]] (about the width of the capital "M" of the displayed typeface), e.g., <code>colwidth=20em</code>.  
; {{para|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 [[wikipedia:CSS#Length units|CSS unit of measure]], for instance, the [[wikipedia:Em (typography)|em]] (about the width of the capital "M" of the displayed typeface), e.g., <code>colwidth=20em</code>.  
; {{para|rules|yes}} : Adds vertical lines ("rules") between the columns if set to <code>yes</code>.  
; {{para|rules|yes}} : Adds vertical lines ("rules") between the columns if set to <code>yes</code>.  
; {{para|gap}} : Specifies the space between the content of adjacent columns, in any valid CSS width unit, e.g., <code>gap=2em</code>. The default spacing (set by browser) is 1em.
; {{para|gap}} : Specifies the space between the content of adjacent columns, in any valid CSS width unit, e.g., <code>gap=2em</code>. The default spacing (set by browser) is 1em.
; {{para|class}} : An HTML class, or multiple space-delimited classes, to apply to the columns.
; {{para|class}} : An HTML class, or multiple space-delimited classes, to apply to the columns.
; {{para|style}} : [[wikipedia:Cascading Style Sheets|CSS styling]] to apply to the columns.
; {{para|style}} : [[wikipedia:CSS|CSS styling]] to apply to the columns.
; {{para|small|yes}} : Sets font size to 90%.
; {{para|small|yes}} : Sets font size to 90%.
; {{para|content}} : Content to apply to the columns. This parameter is effectively equivalent to {{tl|columns-list}}, which is a pass-through for this template.
; {{para|content}} : Content to apply to the columns. This parameter is effectively equivalent to {{tl|columns-list}}, which is a pass-through for this template.
Line 44: Line 44:
== Examples ==
== Examples ==
=== Colwidth ===
=== Colwidth ===
<pre>
{{Pre|
{{div col|colwidth=10em}} <!-- column width of 10em -->
{{((}}{{fcb|#4169e1|div col}}|{{fcb|#2e8b57|colwidth}}{{=}}{{font color|#933|10em}}{{))}} <nowiki><!-- column width of 10em --></nowiki>
* a
* a
* b
* b
Line 54: Line 54:
* g
* g
* h
* h
{{div col end}}
{{((}}{{fcb|#4169e1|div col end}}{{))}}
</pre>
}}
Produces:
Produces:
{{div col|colwidth=10em}}
{{div col|colwidth=10em}}
Line 69: Line 69:


=== Rules ===
=== Rules ===
<pre>
{{Pre|
{{div col|colwidth=10em|rules=yes}} <!-- column width of 10em with rules -->
{{((}}{{fcb|#4169e1|div col}}|{{fcb|#2e8b57|colwidth}}{{=}}{{font color|#933|10em}}|{{fcb|#2e8b57|rules}}{{=}}{{font color|#933|yes}}{{))}} <nowiki><!-- column width of 10em with rules --></nowiki>
* a
* a
* b
* b
Line 79: Line 79:
* g
* g
* h
* h
{{div col end}}
{{((}}{{fcb|#4169e1|div col end}}{{))}}
</pre>
}}
Produces:
Produces:
{{div col|colwidth=10em|rules=yes}}
{{div col|colwidth=10em|rules=yes}}
Line 94: Line 94:


=== Gap ===
=== Gap ===
<pre>
{{Pre|
{{div col|colwidth=10em|rules=yes|gap=2em}} <!-- column width of 10em with rules and a gap of 2em -->
{{((}}{{fcb|#4169e1|div col}}|{{fcb|#2e8b57|colwidth}}{{=}}{{font color|#933|10em}}|{{fcb|#2e8b57|rules}}{{=}}{{font color|#933|yes}}|{{fcb|#2e8b57|gap}}{{=}}{{font color|#933|2em}}{{))}} <nowiki><!-- column width of 10em with rules and a gap of 2em --></nowiki>
* a
* a
* b
* b
Line 104: Line 104:
* g
* g
* h
* h
{{div col end}}
{{((}}{{fcb|#4169e1|div col end}}{{))}}
</pre>
}}
Produces:
Produces:
{{div col|colwidth=10em|rules=yes|gap=2em}}
{{div col|colwidth=10em|rules=yes|gap=2em}}
Line 119: Line 119:


=== Small ===
=== Small ===
<pre>
{{Pre|
{{div col|small=yes}} <!-- Small = yes -->
{{((}}{{fcb|#4169e1|div col}}|{{fcb|#2e8b57|small}}{{=}}{{font color|#933|yes}}{{))}} <nowiki><!-- Small = yes --></nowiki>
* a
* a
* b
* b
Line 129: Line 129:
* g
* g
* h
* h
{{div col end}}
{{((}}{{fcb|#4169e1|div col end}}{{))}}
</pre>
}}
Produces:
Produces:
{{div col|small=yes}}
{{div col|small=yes}}
Line 144: Line 144:


=== Content ===
=== Content ===
<pre>
{{Pre|
{{div col|colwidth=10em|content= <!-- content parameter doesn't need {{div col end}} -->
{{((}}{{fcb|#4169e1|div col}}|{{fcb|#2e8b57|content}}{{=}} <nowiki><!-- content parameter doesn't need {{div col end}} --></nowiki>
* a
* a
* b
* b
Line 154: Line 154:
* g
* g
* h
* h
}}
{{))}}}}
</pre>
Produces:
Produces:
{{div col|colwidth=10em|content=
{{div col|colwidth=10em|content=
Line 249: Line 248:


==Tracking categories==
==Tracking categories==
* {{c|Pages using div col with unknown parameters}} (for erroneous use of parameter names not documented here)
* {{Cat|Pages using div col with unknown parameters}} (for erroneous use of parameter names not documented here)
* {{c|Pages using div col with small parameter}}
* {{Cat|Pages using div col with small parameter}}


==TemplateData==
==TemplateData==
Line 309: Line 308:
</templatedata>
</templatedata>
}}
}}


<includeonly>{{sandbox other||{{testcases other||
<includeonly>{{sandbox other||{{testcases other||


<!-- Categories below this line, please -->
<!-- Categories below this line, please -->
[[Category:Templates]]
[[Category:Utility templates]]
[[Category:Utility Templates]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that add a tracking category]]
}}}}</includeonly>
}}}}</includeonly>

Latest revision as of 01:45, 20 August 2023

Light bulb.png }}
It contains usage information, categories and other content that is not part of the original template page.


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

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 break-inside: avoid-column; rule appears to help.

Tracking categories

TemplateData

Breaks a list into columns. It automatically breaks each column to an equal space, so you do not manually have to find the half way 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.

Example
30em
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