Line breaking
Under normal conditions, a description will not break long-running text and the text may be cropped or hidden. To cause the text to wrap:
Ensure the long-running text is a text node child of <description/> or <label/> (i.e., do not specify the long-running text in the value attribute of these elements).
The default style for these XUL elements includes white-space: wrap;
. This reduces all whitespace chunks (including newlines) to single spaces. Text is permitted to wrap.
<description>I am your father's brother's nephew's cousin's former roommate. What's that make us? Absolutely nothing!</description>
With white-space: pre;
all whitespace, including newlines, is rendered literally. Text cannot wrap automatically but can still be achieved with <html:br/> if desired.
<description style="white-space: pre-wrap;">I am your father's brother's nephew's cousin's former roommate. What's that make us? Absolutely nothing!</description>
With white-space: pre-wrap;
all whitespace is rendered literally, but text is additionally permitted to wrap at spaces.
-moz-pre-wrap
instead of -pre-wrap
. You may wish to use both for backward compatibility.<description style="white-space: pre;">I am your father's brother's nephew's cousin's former roommate. What's that make us? Absolutely nothing!</description>
Text can also be made to wrap by inserting an <html:br/> element regardless of the CSS style, but this creates a hard-break that does not change as parent elements resize.
<description>I am your father's brother's nephew's cousin's former roommate.<html:br/> What's that make us?<html:br/> Absolutely nothing!</description>
Using labels as anchors
Its possible to make a label look and act like an HTML <a> tag:
<label class="text-link" href="https://whatever.com" value="click here to go to whatever"/>
"text-link" is a built-in, predefined class.
pref("network.protocol-handler.expose.http", false); pref("network.protocol-handler.warn-external.http", false);
Change or add additional protocols (https or ftp) as needed.