Jump to content

Template:Nowraplinks/doc

From Wikipedia, the free encyclopedia

This is the {{nowraplinks}} template.

This template works in conjunction with {{nowraplinks end}} to prevent word wraps (line breaks) inside links that include a space or spaces while allowing wraps between links and in normal text. This can be useful, for instance, in long lists of links. It is similar to {{nowrap begin}}...{{nowrap end}}.

Reading Wikipedia:Line-break handling is recommended before starting to use this template.

Usage

[edit]
{{nowraplinks}}

[[This link will not wrap]] - [[This link also won't wrap]] -
[[And so on]] - But this sentence might word wrap.

{{nowraplinks end}}
{{nowraplinks | [[This link will not wrap]] - [[This link also won't wrap]] -
[[And so on]] - But this sentence might word wrap. }}

Both examples will render something like this:

This link will not wrap -
This link also won't wrap -
And so on - But this sentence
might word wrap.

But they will not render like this:

This link will not wrap - This link
shouldn't have wrapped - And so on -
But this sentence might word wrap.

Advanced usage

[edit]

Most of the functionality in this template is implemented as a CSS class in common.css. That class can be used together with pretty much any HTML tag or any box to prevent links to word wrap. For instance like this:

<div class="nowraplinks"> Lots of text and links </div>

Or like this:

<span class="nowraplinks"> Lots of text and links </span>

If the nowraplinks class is applied in the header of a table it will prevent line wrapping of links in all cells in the table. Note that in a table header there usually is a need to apply several classes. Then the class names should be separated by spaces in the class tag, not by commas or semicolons. Like this:

{| class="wikitable nowraplinks"
|
[[This link will not wrap]]{{·}} 
[[This link also won't wrap]]{{·}} 
[[And so on]]{{·}} 
But this sentence might word wrap.
|
[[This link will not wrap]]{{·}} 
[[This link also won't wrap]]{{·}} 
[[And so on]]{{·}} 
But this sentence might word wrap.
|}

It will render this:

To really see the nowrap effect on the links above you can drag the width of your web browser window so it becomes smaller and smaller.

Technical details

[edit]

The actual code that does the job is this CSS code in Common.css.

.nowraplinks a,
.nowraplinks .selflink { 
  white-space: nowrap;
}

It simply means that any white-space inside links (HTML A tags) and bold "links" to the page itself are not allowed to wrap.

It is then invoked like this:

<span class="nowraplinks"> Lots of text and links </span>

That span code is what the {{nowraplinks}} and {{nowraplinks end}} tags are packaging in an easy to use way.

The standard navboxes use the .nowraplinks class, thus automatically handling most wrapping problems in those navboxes.

See also

[edit]
  • {{nowrap}} prevents wrapping within a single template (i.e. not suitable for relatively complex or lengthy content).
  • {{nowraplinks}} ... {{nowraplinks end}} prevents wraps inside links while allowing wraps between links and in normal text. Very useful for link lists and easy to use.
  • {{nowrap begin}} ... {{nowrap end}} prevents wraps in both text and links. For the trickier wrapping cases when you need full control, for instance in very complex link lists.
  • {{word joiner}} prevents wraps for both two adjacent characters.
  • {{avoid wrap}} prevents wraps unless the space is too narrow to display the text on one line.
    • {{inline block}} does the same and allows further style customization, but does not automatically add the "avoidwrap" CSS class.
  • {{spaces}} produces multiple non-breaking spaces (or a single one).
  • {{wrap}} can be used to provide a (brief) exception within a no-wrapping area.
    • {{normalwraplink}} allows links to wrap when they otherwise would not.
  • {{·}} and {{•}}, spaced and wrap-sensitive interpunct (dot) and bullet.
  • Help:Line-break handling, Wikipedia's how-to guide about word wrapping and line breaks.
    • In particular, to avoid line wrapping when quoting a passage such as a poem or computer code, see Template:Quote § Line breaks – e.g. Template:Blockquote with "poem" tag.