Template:Flex columns
This template is used on many pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them. |
This template uses Lua: |
This template creates a two-column layout, where contents within the columns will have the same height, with any extra whitespace distributed throughout the shorter columns contents. It is mainly intended for use in portals.
This sort of layout requires browsers to support CSS flexbox. For those that don't there is a fallback that will show a two column view, but without the heights being the same (a layout many portals used as at July 2018).
For narrow screens, e.g. mobile devices, the display reverts to a single column.
Usage
{{Flex columns
|1 = (...first column contents...)
|2 = (...second column contents...)
}}
Only contents which are in <div>...</div>
tags will have extra whitespace distributed to them – except for those with class flex-columns-noflex
(or otherwise override the flex:
property)
To change the column balance, |flex1=
and/or |flex2=
can be set. The default is 1
. For example:
|flex1=3 |flex2=2
will result in the first column taking up to 60% (3/5) of the available width, and the second column taking up at least 40% (2/5) of the width.
Note that the actual column balance will vary depending on screen size, since the minimum width of each column is set at 360px.
Example
{{Flex columns|{{lorem ipsum|3}}|{{lorem ipsum|2}}}}
Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris. Integer in mauris eu nibh euismod gravida. Duis ac tellus et risus vulputate vehicula. Donec lobortis risus a elit. Etiam tempor. Ut ullamcorper, ligula eu tempor congue, eros est euismod turpis, id tincidunt sapien risus a quam. Maecenas fermentum consequat mi. Donec fermentum. Pellentesque malesuada nulla a mi. Duis sapien sem, aliquet nec, commodo eget, consequat quis, neque. Aliquam faucibus, elit ut dictum aliquet, felis nisl adipiscing sapien, sed malesuada diam lacus eget erat. Cras mollis scelerisque nunc. Nullam arcu. Aliquam consequat. Curabitur augue lorem, dapibus quis, laoreet et, pretium ac, nisi. Aenean magna nisl, mollis quis, molestie eu, feugiat in, orci. In hac habitasse platea dictumst.
Fusce convallis, mauris imperdiet gravida bibendum, nisl turpis suscipit mauris, sed placerat ipsum urna sed risus. In convallis tellus a mauris. Curabitur non elit ut libero tristique sodales. Mauris a lacus. Donec mattis semper leo. In hac habitasse platea dictumst. Vivamus facilisis diam at odio. Mauris dictum, nisi eget consequat elementum, lacus ligula molestie metus, non feugiat orci magna ac sem. Donec turpis. Donec vitae metus. Morbi tristique neque eu mauris. Quisque gravida ipsum non sapien. Proin turpis lacus, scelerisque vitae, elementum at, lobortis ac, quam. Aliquam dictum eleifend risus. In hac habitasse platea dictumst. Etiam sit amet diam. Suspendisse odio. Suspendisse nunc. In semper bibendum libero.
Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris. Integer in mauris eu nibh euismod gravida. Duis ac tellus et risus vulputate vehicula. Donec lobortis risus a elit. Etiam tempor. Ut ullamcorper, ligula eu tempor congue, eros est euismod turpis, id tincidunt sapien risus a quam. Maecenas fermentum consequat mi. Donec fermentum. Pellentesque malesuada nulla a mi. Duis sapien sem, aliquet nec, commodo eget, consequat quis, neque. Aliquam faucibus, elit ut dictum aliquet, felis nisl adipiscing sapien, sed malesuada diam lacus eget erat. Cras mollis scelerisque nunc. Nullam arcu. Aliquam consequat. Curabitur augue lorem, dapibus quis, laoreet et, pretium ac, nisi. Aenean magna nisl, mollis quis, molestie eu, feugiat in, orci. In hac habitasse platea dictumst.
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 an HTML "div" open, potentially harming any subsequent formatting. <section begin="table" />
Type | Family | Handles wiki
table code?† |
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}} |
† Can 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.<section end="table" />