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.
Allowable properties
Only a small subset of CSS properties can be used with the ::first-line
pseudo-element:
- All font-related properties:
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
, andfont-family
- All background-related properties:
background-color
,background-clip
,background-image
,background-origin
,background-position
,background-repeat
,background-size
,background-attachment
, andbackground-blend-mode
- The
color
property word-spacing
,letter-spacing
,text-decoration
,text-transform
, andline-height
text-shadow
,text-decoration
,text-decoration-color
,text-decoration-line
,text-decoration-style
, andvertical-align
.
Syntax
/* CSS3 syntax */ ::first-line /* CSS2 syntax */ :first-line
Examples
HTML
<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>
CSS
::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;
}
Result
Specifications
Specification | Status | Comment |
---|---|---|
CSS Pseudo-Elements Level 4The 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 |
CSS Text Decoration Module Level 3The definition of 'text-shadow with ::first-line' in that specification. | Candidate Recommendation | Allows the use of text-shadow with ::first-letter .
|
Selectors Level 3The 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 1The definition of '::first-line' in that specification. | Recommendation | Initial definition, using the one-colon syntax. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
::first-line
|
Chrome Full support 1 Full support 1 Notes' Before Chrome 62, the Notes' Before Chrome 62, the |
Edge Full support 12 Full support 12 Full support 12 Alternate Name' Uses the non-standard name: |
Firefox Full support 1 Full support 1 Full support 1 Alternate Name' Uses the non-standard name: |
IE Full support 9 Full support 9 Full support 5.5 Alternate Name' Uses the non-standard name: |
Opera Full support 7 Full support 7 Notes' From Opera 15 to Opera 49 (exclusive), the Notes' From Opera 15 to Opera 49 (exclusive), the |
Safari Full support 1 Full support 1 Notes' The Notes' The |
WebView Android Full support ≤37 Full support ≤37 Notes' Before WebView 62, the Notes' Before WebView 62, the |
Chrome Android Full support 18 Full support 18 Notes' Before Chrome 62, the Notes' Before Chrome 62, the |
Firefox Android Full support 4 Full support 4 Full support 4 Alternate Name' Uses the non-standard name: |
Opera Android Full support 10.1 Full support 10.1 Notes' From Opera 15 to Opera 49 (exclusive), the Notes' From Opera 15 to Opera 49 (exclusive), the |
Safari iOS Full support 1 Full support 1 Notes' The Notes' The |
Samsung Internet Android Full support 1.0 Full support 1.0 Notes' Before Samsung Internet 8.0, the Notes' Before Samsung Internet 8.0, the |
Legend
- Full support
- Full support
- See implementation notes.'
- See implementation notes.
- Uses a non-standard name.'
- Uses a non-standard name.
See also
::first-line (:first-line) by Mozilla Contributors is licensed under CC-BY-SA 2.5.