Template:Inputbox/doc: Difference between revisions
m (→See also: clean up per WP:CAT#T and WP:AWBREQ add template:Sandbox other) |
(No difference)
|
Revision as of 21:52, 25 April 2020
This is a documentation subpage for Template:Inputbox. It contains usage information, categories and other content that is not part of the original template page. |
Usage
{{Inputbox}} will display a short line of text as if being the content of a basic input box. One use is to emulate the display of the edit summary box.
- Code
{{Inputbox|/* Heading */ my summary}}
- Gives
Notes
- The box can be indented using standard prefixes such as ":", "*", or ":*".
- The box uses the appearance set for Wikipedia's "messagebox" (monobook: black text on white background, 80% the width of the screen), with nowrap.
- If you use a very long sentence, the text will continue to the right of the box and a horizontal scrollbar for the whole page appears. Can be changed with options, but with the scroll option the appearance is still different from the real edit summary box (which allows scrolling but does not show a bar).
- As with other templates, you will need to use "1=" if your text includes an equal sign, or enclose all or part of your text in
<NOWIKI>...</NOWIKI>
. - Please do not subst: this template.
Options
Default values are usually inherited from class=messagebox
.
- overflow
- How the text will overflow if longer than the box. Can be "hidden" (the box keeps it width, end of text is hidden), "scroll" (the box gets an underside horizontal scrollbar, end of text is available using it), or "visible" (the box will become as wide as needed to display a long text [works in Internet Explorer and Opera, reportedly does not work in Firefox]). (Defaults to "visible") – See also examples.
- width
- Width of the box, can be "50%", "20em", "40ex", etc. (Defaults to "80%") – Relative values (such as %, em, and ex) are recommended over device-dependent ones (pixels).
- style
- Allows any additional semicolon-separated CSS style in the format "name:value; name:value; etc." (Defaults to empty) – "width" and "overflow" can be specified here when using this freeform string.
Examples
- Code
{{Inputbox|width=20%|This is gonna be too large for me, ouch! ouch! ouch!}}
- Gives
This box isn't 20% wide but grows to make a long text visible (as per default overflow=visible).
- Code
{{Inputbox|width=20%|overflow=hidden|This is gonna be too large for me, ouch! ouch! ouch!}}
- Gives
This box sticks to 20% width and hides the end of a too long text.
- Code
{{Inputbox|width=20%|overflow=scroll|This is gonna be too large for me, ouch! ouch! ouch!}}
- Gives
This box sticks to 20% width but adds an underside scrollbar to make a too long text available.
- Code
{{Inputbox|style=background-color:yellow; color:red; width:40%;|My eyes! My eyes!}}
- Gives
This box uses a freeform style to specify anything that can be done in CSS, including the width.
- Full example with hidden table
Proper security require that password fields obscure their contents.
Login: | |
Password: |
Technical
Since an actual <FORM><INPUT> isn't allowed by wikicode, the appearance has to be emulated. The CSS code is designed to avoid hardcoded colors and sizes and should be modified with care, with respect to the following concerns:
- The
CLASS="messagebox"
inherits the colors and width of the user's skin for a message box. So, even if the color scheme is white text on black background, our emulated box will render accordingly (instead of using hardcoded black text on white background that would stick out). - The
"border:0.15em;"
uses a non-absolute border width that will render approximatively the same on any screen (as opposed to a hardcoded width in pixels). - The
"inset"
tweaks the inherited "messagebox" appearance to give a 3D inset box approximation, as rendered by each browser for this value. - The
"padding:0.1em;"
is required to avoid the text being stuck to the border in browsers that strictly respect the padding value, and use again a relative em value instead of pixels. (For instance in Opera, "padding:0" would do what it says). - The
"margin:0.1em;"
is intended to avoid several boxes stuck one to the other, using a relative em value instead of pixels.
The result isn't a perfect 3D input box, but should provide decent results for everyone, regardless of browser, color settings, and resolution.
See also