Template:Nowrap begin: Difference between revisions

From Guild of Archivists
(use nowrap class)
 
m (1 revision imported)
 

Latest revision as of 19:25, 28 January 2016

Template documentation[view] [edit] [history] [purge]

This is the {{nowrap begin}} template. This template prevents word wraps (line breaks) in text and links with spaces in. It is designed to handle the really tricky wrapping cases where you need full control. It works similarly to {{nowrap}} and {{nowraplinks}}. This template takes no parameters; instead, it works in tandem with {{nowrap end}}.

Helper templates[edit source]

This template has a number of helper templates which allows you to tell the web browser exactly where line breaks may occur:

Note: These helper templates may only be used in sections surrounded by {{nowrap begin}} and {{nowrap end}} or they may cause weird behaviour of your page.

  • {{wrap}} – Marks where a wrap may occur.

Usage[edit source]

{{nowrap begin}}

[[Atrus]] and{{wrap}} [[Catherine]] and{{wrap}} [[Sirrus]]
and{{wrap}} [[Achenar]].{{wrap}}
[[Atrus]] and{{wrap}} [[Catherine]] and{{wrap}} [[Sirrus]]
and{{wrap}} [[Achenar]].

{{nowrap end}}

It will render something like this:

Atrus and Catherine and Sirrus and
Achenar. Atrus and Catherine and
Sirrus and Achenar.

But it will not render like this:

Atrus and Catherine and Sirrus
and Achenar. Atrus and Catherine
and Sirrus and Achenar.

To make your code readable and easy to edit, you can put each wrappable "line" on its own line. And let's use some dots too. Like this:

{{nowrap begin}}

[[Atrus]] and [[Catherine]]{{·}}{{wrap}}
[[Catherine]] and [[Sirrus]]{{·}}{{wrap}}
[[Sirrus]] and [[Achenar]]{{·}}{{wrap}}
[[Achenar]] and [[Atrus]]

{{nowrap end}}

It will render something like this:

Atrus and Catherine · Catherine and Sirrus ·
Sirrus and Achenar · Achenar and Atrus

But it will not render like this:

Atrus and Catherine · Catherine
and Sirrus · Sirrus and Achenar
· Achenar and Atrus

Examples[edit source]

Here are the above examples in actual running code in a table. Try dragging the width of your web browser window so it becomes smaller and smaller and watch how the line wrapping behaves:

Atrus and Catherine and Sirrus and Achenar. Atrus and Catherine and Sirrus and Achenar.

Atrus and Catherine · Catherine and Sirrus · Sirrus and Achenar · Achenar and Atrus

An example demonstrating all the helper templates:

Atrus Catherine Sirrus · Achenar · Atrus • Catherine • Sirrus – Achenar – Atrus | Catherine | Sirrus · Achenar · Atrus

Atrus Catherine Sirrus · Achenar · Atrus • Catherine • Sirrus – Achenar – Atrus | Catherine | Sirrus · Achenar · Atrus

Technical details[edit source]

The actual code that does the job is this HTML+CSS code:

<span style="white-space:nowrap;"> Text and links </span> <span style="white-space:nowrap;"> More text and links </span>

It means that wraps may only happen in the unprotected space between the </span> and the <span ...>. That's what {{nowrap begin}} and its helper templates are packaging in an easy to use way.

{{·}} and the other helper templates should not have any spaces or newlines before them or they will render two spaces before the dot. They tolerate anything from no to several spaces and even a newline after them and they will still only render one space after the dot. If a wrap occurs then the wrap will come after the dot, even if there are spaces before the helper template.

The {{·}} causes problems if inside sections of bolded and/or italicised text. Do end the bold text before the {{·}} and continue the bold text after it to avoid the problems. {{}} and the other helper templates only have this problem if the section is bolded and italicised at the same time.

See also[edit source]

  • {{nowrap end}}, this template's complement.
  • {{nowrap}} provides the same function within a single template (i.e. not suitable for relatively complex and/or lengthy content).
  • {{nowraplinks}}...{{nowraplinks end}} prevents wraps inside links and only allows wraps between the links and in normal text. Very useful for link lists and usually easier to use than this template.
  • {{allow wrap}} can be used to provide a (brief) exception within a no-wrapping area.
  • {{·}} and {{}}, spaced and wrap-sensitive dot and bullet.
  • Wikipedia:Line-break handling, the how-to guide about word/line-wrapping/breaks at Wikipedia.