Spec-Zone.ru › CSS

Псевдоэлемент 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;
}

Результат

Спецификации

Спецификация
Модуль псевдоэлементов CSS уровня 4
# first-line-pseudo

Совместимость с браузерами

Компьютеры Мобильные устройства
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
Нет
Нет
Нет
Нет
Нет

См. также

  • ::first-letter
  • white-space

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API