Template:Stack begin: Difference between revisions
Richardpruen (talk | contribs) m 1 revision imported |
imported>MSGJ synchronise with Template:Stack, requested by User:Great Brightstar |
||
| Line 1: | Line 1: | ||
<templatestyles src="Stack/styles.css"/><div class="stack {{#switch:{{{float|right}}}|left=stack-{{#switch:{{{margin|}}}|1|true|y|yes=margin-}}{{#switch:{{{clear|}}}|left|true=clear-}}left|right=stack-{{#switch:{{{margin|}}}|1|true|y|yes=margin-}}{{#switch:{{{clear|}}}|right|true=clear-}}right}}"><!-- | |||
--><div {{#if:{{{cellspacing|}}}|style="margin: {{{cellspacing}}}px"}}><!-- | |||
-->{{#invoke:Check for unknown parameters|check|unknown=[[Category:Pages using stack with unknown parameters|_VALUE_{{PAGENAME}}]]|preview=Page using [[Template:Stack begin]] with unknown parameter "_VALUE_"|ignoreblank=y| cellspacing | clear | float | margin }}<noinclude> | |||
{{stack end}} | {{stack end}} | ||
{{documentation}} | {{documentation}} | ||
</noinclude> | </noinclude> | ||
Latest revision as of 16:55, 23 February 2023
| This template is used on approximately 8,700 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 TemplateStyles: |
This template can be used to stack images and other floating content such as infobox templates without causing problems with spacing and floating. Enter a string of images/templates as the first parameter to have them stack without generating floating errors or spacing errors. You can stack many objects from the top of a section and not force further subsections to space out.
Usage
At its simplest:
{{stack|<objects>}}
Alternatively, using {{stack begin}} and {{stack end}}:
{{stack begin}}
<objects>
{{stack end}}
The <object> may simply be a string of wikicode for many images/templates.
Optional parameters
{{stack| <object(s)> | float=left or right | clear=true or false | margin=true or false}}
or
{{stack begin | float=left or right | clear=true or false | margin=true or false}}
where
- float= left or right (default is right)
- This option can be used to float the stack to the left or right of the page
- clear= true or false (default is false)
- This option can be used to force the stack to the far left or right (e.g., near an infobox).
- margin= true or false (default is false)
- This option can be used to add a 1em margin to the left (for float right) or right (for float left).
You can also explicitly list multiple arguments:
{{stack| float=left or right | clear=true or false | margin=true or false
|1=<object(s)>
|2=<object(s)>, etc. up to 9 parameters in the current version
}}
- This multiple argument version does include extra vertical whitespace between each (set of)
<object(s)>.
Examples
=====''Lipsum''=====
[[File:Simple shapes example.png|thumb|right|Example 1a]]
[[File:Simple shapes example.png|thumb|right|Example 1b]]
... text ...
=====''Lorem''=====
[[File:Simple shapes example.png|thumb|left|Example 1c]]
... text ...
=====''Ipsum''=====
... text ...
=====''Lipsum''=====
{{stack |[[File:Simple shapes example.png|thumb|right|Example 2a]] [[File:Simple shapes example.png|thumb|right|Example 2b]]}}
... text ...
=====''Lorem''=====
[[File:Simple shapes example.png|thumb|left|Example 2c]]
... text ...
=====''Ipsum''=====
... text ...
Without {{stack}}
Lipsum


Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem

Ipsum
With {{stack}}
Lipsum
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem

Ipsum
With {{stack begin}} and {{stack end}}
Lipsum with second table wider
| Sample table 1 |
|---|
| Example 1a |
| Example 1b |
| Sample wider table 2 |
|---|
| Example 2a |
| Example 2b |
Lorem
| Sample table 3 |
|---|
| Example 3a |
Ipsum
Lipsum with first table wider
| Sample wider table 1 |
|---|
| Example 1a |
| Example 1b |
| Sample table 2 |
|---|
| Example 2a |
| Example 2b |
Lorem
| Sample table 3 |
|---|
| Example 3a |
Ipsum
More examples
{{Stack}} can also be used to float one or more images across a page.
{{stack|[[File:Simple shapes example.png|80px]]}}
{{stack|[[File:Simple shapes example.png|120px]]}}
It might take some experience to learn how the box area floats, in combination with various images or wikitables on a page. {{Stack}}'s operation is very quick, as it uses an HTML <table> to achieve its effects.
Floating portal boxes
{{Stack}} can be used to float a portal box beside an infobox (or other right-aligned item) when other methods might not work as anticipated.
| Infobox | line 1 line 2 line 3 line 4 line 5 line 6 line 7 line 8 line 9 |
|---|

|
This is a wikitable serving as a typical left-aligned table. The overlap on left-aligned tables had been a frequent problem when other boxes nearby were set to "float:right". So this is a test of how well a floating portal-box would avoid overlapping onto a left-side table. |
The example here uses {{stack}} to float two portal boxes (Animals, Cats) as follows:
{{stack |{{portal|Animals}}{{portal|Cats}} }}
The two portal-boxes are stacked and floated together by both being listed as {{stack}}'s (first) parameter. Because the infobox and image were also stacked together, {{stack}} moved the two portal-boxes alongside the infobox despite they are being specified after the image.
Normally, a portal-box would be stuck below the Mona Lisa image, causing this entire text section to format further below, and causing a large text-gap of empty whitespace to appear near the infobox. There is no limit to the number of portalboxes (or Commonscat boxes) which can be listed within a {{stack}} call, such as in a stub or an article with many stacked images near the bottom. Using {{stack}} is extremely efficient, due to being a short template which uses builtin tag <table> to float the boxes.
Stack template family
- {{Stack}}
- {{Stack begin}}
- {{Stack end}}
Tracking category
See also
- {{Multiple image}}, providing both vertical and horizontal layouts for multiple images.
- {{Superimpose}}, which places one image over another.
- {{Superimpose2}}, which can place up to fifty image layers over one another.
- Wikipedia:Extended image syntax#The many-floating-objects problem