Text properties cover those aspects of text formatting other than what can be adjusted merely by changing the font. These include how far the text is indented, how the paragraph is aligned, and so forth. The most common of these properties include:
text-indent
The text-indent
property specifies how far in to indent the first line of the
block. (Indents of all lines are generally applied via margin
properties.) Hanging indents can be specified by making text-indent
negative. This property
only applies to block-level elements. For example, this style
rule indents the first line of the story
element by 0.5 inches from the
left side:
story { text-indent: 0.5in }
text-align
The text-align
property
can be set to left
, right
, center
, or justify
to align the text with the
left edge of the block or the right edge of the block, to center
the text in the block, or to spread the text out across the
block. This property only applies to block-level
elements.
text-decoration
The text-decoration
property can be set to underline
, overline
, line-through
, or blink
to produce the obvious effects.
Note, however, that the CSS specification specifically allows
browsers to ignore the request to make elements blink. This is a
good thing.
text-transform
The text-transform
property has three main
values: capitalize
, uppercase
, and lowercase
. Uppercase
changes all the text to
capital letters LIKE THIS. Lowercase
changes all the text to
lowercase letters like this. Capitalize
simply uppercases the first
letter of each word Like This, but leaves the other letters
alone. The default value of this property is none
, which performs no
transformation. It can also be set to inherit
to indicate that the same
transform as used on the parent element should be used.
Changing the case in English is fairly straightforward, but this isn't true of all languages. In particular, software written by native English speakers tends to do a very poor job of algorithmically changing the case in ligature-heavy European languages, like Maltese, or context-sensitive languages, like Arabic. Outside of English text, it's best to make the transformations directly in the source document rather than relying on the stylesheet engine to make the correct decisions about which letters to capitalize.
white-space
The white-space
property determines whether text is wrapped. It has four legal
values in CSS2: normal
,
pre
, nowrap
, and inherit
. CSS 2.1 adds pre-wrap
and pre-line
. normal
is, of course, the default and
simply means to wrap the text wherever convenient, much as is
done in this paragraph. pre
means to preserve all line breaks and whitespace in the
document, as does the pre
element in HTML. nowrap
means
that runs of whitespace can be condensed, but that line breaks
will not be inserted. pre-wrap
means that the text can be
wrapped but runs of whitespace will not be compressed to a
single space. Furthermore, all line breaks in the source will
still be line breaks in the formatted document. Pre-line
means runs of whitespace will
be compressed, but line breaks will not be changed to spaces. In
other words, all line breaks are preserved and others may be
added as necessary. Finally, inherit
simply takes on the same
behavior as the parent element.