The ::first-line
CSS pseudo-element applies styles to the first line of a block-level element. Note that the length of the first line depends on many factors, including the width of the element, the width of the document, and the font size of the text.
/* Selects the first line of a <p> */ p::first-line { color: red; }
CSS3 introduced the ::first-line
notation (with two colons) to distinguish pseudo-classes from pseudo-elements. Browsers also accept :first-line
, introduced in CSS2.
Only a small subset of CSS properties can be used with the ::first-line
pseudo-element:
font
, font-kerning
, font-style
, font-variant
, font-variant-numeric
, font-variant-position
, font-variant-east-asian
, font-variant-caps
, font-variant-alternates
, font-variant-ligatures
, font-synthesis
, font-feature-settings
, font-language-override
, font-weight
, font-size
, font-size-adjust
, font-stretch
, and font-family
background-color
, background-clip
, background-image
, background-origin
, background-position
, background-repeat
, background-size
, background-attachment
, and background-blend-mode
color
propertyword-spacing
, letter-spacing
, text-decoration
, text-transform
, and line-height
text-shadow
, text-decoration
, text-decoration-color
, text-decoration-line
, text-decoration-style
, and vertical-align
./* CSS3 syntax */ ::first-line /* CSS2 syntax */ :first-line
<p>Styles will only be applied to the first line of this paragraph. After that, all text will be styled like normal. See what I mean?</p> <span>The first line of this text will not receive special styling because it is not a block-level element.</span>
::first-line { color: blue; text-transform: uppercase; /* WARNING: DO NOT USE THESE */ /* Many properties are invalid in ::first-line pseudo-elements */ margin-left: 20px; text-indent: 20px; }
Specification | Status | Comment |
---|---|---|
CSS Pseudo-Elements Level 4 The definition of '::first-line' in that specification. | Working Draft | Defines more strictly where ::first-letter can occur.Generalizes allowed properties to typesetting, text decoration, and inline layout properties and opacity .Defines the inheritance of ::first-letter . |
CSS Text Decoration Module Level 3 The definition of 'text-shadow with ::first-line' in that specification. | Candidate Recommendation | Allows the use of text-shadow with ::first-letter . |
Selectors Level 3 The definition of '::first-line' in that specification. | Recommendation | Introduction of the two-colon syntax. |
CSS Level 2 (Revision 1) The definition of '::first-line' in that specification. | Recommendation | No change. |
CSS Level 1 The definition of '::first-line' in that specification. | Recommendation | Initial definition, using the one-colon syntax. |
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support |
11 |
Yes Yes2 |
1 12 |
9 5.52 |
73 |
14 |
Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | Opera Android | iOS Safari | Samsung Internet |
---|---|---|---|---|---|---|---|
Basic support | Yes | ? |
Yes Yes2 |
4 42 |
? | ? | ? |
1. Before Chrome 62, the text-transform
property does not work on ::first-line
pseudo-elements. See Chromium bug 129669.
2. Supported as :first-line
.
3. From Opera 15 to Opera 49 (exclusive), the text-transform
property does not work on ::first-line
or :first-line
pseudo-elements. See Chromium bug 129669.
4. The text-transform
property does not work for ::first-line
or :first-line
pseudo-elements. See WebKit bug 3409.
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/::first-line