::first-letter (:first-letter)
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
CSS псевдоэлемент ::first-letter
применяет стили к первой букве первой строки блочного элемента, но только если нету другого предшествующего содержимого (такого как изображения или инлайн таблицы).
/* Стили для первой буквы элемента <p> */
p::first-letter {
font-size: 130%;
}
Может быть непросто определить первую букву элемента:
- Пунктуация, которая предшествует или следует сразу за первой буквой, включается в селектор. Пунктуация включает любой символ Юникода, определённый в классах open (Ps), close (Pe), initial quote (Pi), final quote (Pf), and other punctuation (Po).
- В некоторых языках существуют диграфы, которые должны преобразовываться в верхний регистр вместе, например
IJ
в Нидерландском. В этих случаях обе буквы диграфа должны соответствовать псевдоэлементу::first-letter
(это слабо поддерживается браузерами, смотрите таблицу совместимости ниже). - Комбинация псевдоэлемента
::before
и свойстваcontent
может привести к добавлению некоторого текста в начало элемента. В этом случае псевдоэлементу::first-letter
будет соответствовать первая буква добавленного содержимого.
Примечание: В CSS3 появилась запись ::first-letter
(с двумя двоеточиями) для различения псевдоклассов и псевдоэлементов. Браузеры также поддерживают запись :first-letter
, введённую в CSS2.
Разрешённые свойства
Только небольшое подмножество CSS-свойств может быть использовано с псевдоэлементом ::first-letter
:
- Все свойства, связанные с шрифтами:
font
,font-style
,font-feature-settings
,font-kerning
,font-language-override
,font-stretch
,font-synthesis
,font-variant
,font-variant-alternates
,font-variant-caps
,font-variant-east-asian
,font-variant-ligatures
,font-variant-numeric
,font-variant-position
,font-weight
,font-size
,font-size-adjust
,line-height
иfont-family
- Все свойства, связанные с фоном:
background
,background-color
,background-image
,background-clip
,background-origin
,background-position
,background-repeat
,background-size
,background-attachment
иbackground-blend-mode
- Все свойства для внешних отступов:
margin
,margin-top
,margin-right
,margin-bottom
,margin-left
- Все свойства для внутренних отступов:
padding
,padding-top
,padding-right
,padding-bottom
,padding-left
- Все свойства, связанные с рамкой: сокращения
border
,border-style
,border-color
,border-width
,border-radius
,border-image
и полные записи свойств - Свойства
color
- Свойства
text-decoration
,text-shadow
,text-transform
,letter-spacing
,word-spacing
(when appropriate),line-height
,text-decoration-color
,text-decoration-line
,text-decoration-style
,box-shadow
,float
,vertical-align
(только еслиfloat
равенnone
)
Синтаксис
Пример
Сделаем первую букву каждого абзаца красной и большой.
HTML
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita
kasd gubergren, no sea takimata sanctus est.
</p>
<p>
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie
consequat.
</p>
<p>
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit
lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure
dolor in hendrerit in vulputate velit esse molestie consequat.
</p>
<p>-Начало специального знака препинания.</p>
<p>_Начало специального знака препинания.</p>
<p>"Начало специального знака препинания.</p>
<p>'Начало специального знака препинания.</p>
<p>*Начало специального знака препинания.</p>
<p>#Начало специального знака препинания.</p>
<p>「特殊的汉字标点符号开头。</p>
<p>《特殊的汉字标点符号开头。</p>
<p>“特殊的汉字标点符号开头。</p>
CSS
p::first-letter {
color: red;
font-size: 130%;
}
Результат
Спецификации
Specification |
---|
CSS Pseudo-Elements Module Level 4 # first-letter-pseudo |
Совместимость с браузерами
BCD tables only load in the browser