initial-letter

The initial-letter CSS property sets styling for dropped, raised, and sunken initial letters.

Syntax

css
/* Keyword values */
initial-letter: normal;

/* Numeric values */
initial-letter: 1.5; /* Initial letter occupies 1.5 lines */
initial-letter: 3; /* Initial letter occupies 3 lines */
initial-letter: 3 2; /* Initial letter occupies 3 lines and
                           sinks 2 lines */

/* Global values */
initial-letter: inherit;
initial-letter: initial;
initial-letter: revert;
initial-letter: revert-layer;
initial-letter: unset;

The keyword value normal, or a <number> optionally followed by an <integer>.

Values

normal

No special initial-letter effect. Text behaves as normal.

<number>

Defines the size of the initial letter, in terms of how many lines it occupies. Negative values are not allowed.

<integer>

Defines the number of lines the initial letter should sink when the size of it is given. Values must be greater than zero. If omitted, it duplicates the size value, floored to the nearest positive whole number.

Formal definition

Initial valuenormal
Applies to::first-letter pseudo-elements and inline-level first child of a block container
Inheritedno
Computed valueas specified
Animation typeby computed value type

Formal syntax

initial-letter = 
normal |
<number [1,∞]> <integer [1,∞]> |
<number [1,∞]> && [ drop | raise ]?

Examples

Setting initial letter size

HTML

html
<p class="normal">Initial letter is normal</p>
<p class="onefive">Initial letter occupies 1.5 lines</p>
<p class="three">Initial letter occupies 3 lines</p>

CSS

css
.normal::first-letter {
  -webkit-initial-letter: normal;
  initial-letter: normal;
}

.onefive::first-letter {
  -webkit-initial-letter: 1.5;
  initial-letter: 1.5;
}

.three::first-letter {
  -webkit-initial-letter: 3;
  initial-letter: 3;
}

Result

Specifications

Specification
CSS Inline Layout Module Level 3
# sizing-drop-initials

Browser compatibility

BCD tables only load in the browser

See also