Псевдоэлемент CSS `::first-line`
Базовая поддержка Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она поддерживается браузерами с июля 2015 года.
::first-line CSS псевдоэлемент применяет стили к первой строке блочного контейнера.
Попробуйте
p::first-line {
font-size: 1.2rem;
font-weight: bold;
text-decoration: underline;
}
<p> In warm ocean waters around the world, you may see a strange sight: A fish leaping from the water and soaring dozens of meters before returning to the ocean's depths. Early Mediterranean sailors thought these flying fish returned to the shore at night to sleep, and therefore called this family of marine fish Exocoetidae. </p>
Действие ::first-line ограничено длиной и содержимым первой строки текста в элементе. Длина первой строки зависит от многих факторов, включая ширину элемента, ширину документа и размер шрифта текста. ::first-line не действует, если первый дочерний элемент, который был бы первой частью первой строки, является строчным блочным элементом, например встроенной таблицей.
Примечание: В Selectors Level 3 была введена запись с двойным двоеточием (::), чтобы отличать псевдоэлементы от псевдоклассов с одиночным двоеточием (:). Браузеры поддерживают как ::first-line, так и :first-line, появившуюся в CSS2.
Для целей CSS background псевдоэлемент ::first-line ведёт себя как строчный элемент. Это означает, что в первой строке с выравниванием по левому краю фон может не доходить до правого поля.
Допустимые свойства
С псевдоэлементом ::first-line можно использовать лишь небольшой набор свойств CSS:
- Все свойства, связанные со шрифтом:
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иfont-family - Все свойства, связанные с фоном:
background-color,background-clip,background-image,background-origin,background-position,background-repeat,background-size,background-attachmentиbackground-blend-mode - Свойство
color -
word-spacing,letter-spacing,text-decoration,text-transformиline-height -
text-shadow,text-decoration,text-decoration-color,text-decoration-line,text-decoration-styleиvertical-align.
Синтаксис
::first-line {
/* ... */
}
Примеры
Стилизация первой строки абзаца
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
* {
font-size: 20px;
font-family: sans-serif;
}
::first-line {
color: blue;
font-weight: bold;
/* WARNING: DO NOT USE THESE */
/* Many properties are invalid in ::first-line pseudo-elements */
margin-left: 20px;
text-indent: 20px;
}
Результат
Стилизация первой строки текстового элемента SVG
В этом примере мы стилизуем первую строку элемента <text> в SVG с помощью псевдоэлемента ::first-line.
Примечание: На момент написания этой статьи поддержка этой функции ограничена.
HTML
<svg viewBox="0 0 320 150"> <text y="20">Here is an English paragraph that is broken into multiple lines in the source code so that it can be more easily read and edited in a text editor. </text> </svg>
CSS
Чтобы элемент SVG <text> переносился на несколько строк, мы используем свойство CSS white-space. Затем выбираем первую строку с помощью псевдоэлемента ::first-line.
text {
font-size: 20px;
font-family: sans-serif;
}
text {
white-space: break-spaces;
}
text::first-line {
fill: blue;
font-weight: bold;
}
Результат
Спецификации
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
first-line |
1До Chrome 62 свойствоtext-transform не работает с псевдоэлементами ::first-line. См. ошибку 40214861.1До Chrome 62 свойствоtext-transform не работает с псевдоэлементами ::first-line. См. ошибку 40214861. |
12
12
|
1
1
|
7В Opera с версии 15 до версии 49 (не включая её) свойствоtext-transform не работает с псевдоэлементами ::first-line или :first-line. См. ошибку 40214861.3.5В Opera с версии 15 до версии 49 (не включая её) свойствоtext-transform не работает с псевдоэлементами ::first-line или :first-line. См. ошибку 40214861. |
1Свойствоtext-transform не работает с псевдоэлементами ::first-line или :first-line. См. ошибку 3409.1Свойствоtext-transform не работает с псевдоэлементами ::first-line или :first-line. См. ошибку 3409. |
18До Chrome Android 62 свойствоtext-transform не работает с псевдоэлементами ::first-line. См. ошибку 40214861.18До Chrome Android 62 свойствоtext-transform не работает с псевдоэлементами ::first-line. См. ошибку 40214861. |
4
4
|
10.1В Opera с версии 15 до версии 49 (не включая её) свойствоtext-transform не работает с псевдоэлементами ::first-line или :first-line. См. ошибку 40214861.10.1В Opera с версии 15 до версии 49 (не включая её) свойствоtext-transform не работает с псевдоэлементами ::first-line или :first-line. См. ошибку 40214861. |
1Свойствоtext-transform не работает с псевдоэлементами ::first-line или :first-line. См. ошибку 3409.1Свойствоtext-transform не работает с псевдоэлементами ::first-line или :first-line. См. ошибку 3409. |
1.0До Samsung Browser 8.0 свойствоtext-transform не работает с псевдоэлементами ::first-line. См. ошибку 40214861.1.0До Samsung Browser 8.0 свойствоtext-transform не работает с псевдоэлементами ::first-line. См. ошибку 40214861. |
4.4До WebView Android 62 свойствоtext-transform не работает с псевдоэлементами ::first-line. См. ошибку 40214861.4.4До WebView Android 62 свойствоtext-transform не работает с псевдоэлементами ::first-line. См. ошибку 40214861. |
1Свойствоtext-transform не работает с псевдоэлементами ::first-line или :first-line. См. ошибку 3409.1Свойствоtext-transform не работает с псевдоэлементами ::first-line или :first-line. См. ошибку 3409. |
svg_text_element |
Нет |
Нет |
124 |
Нет |
Нет |
Нет |
124 |
Нет |
Нет |
Нет |
Нет |
Нет |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/::first-line