::первая-буква
Базовая Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Псевдоэлемент ::first-letter CSS псевдоэлемент применяет стили к первой букве первой строки блочного контейнера, но только если она не предшествует другому содержимому (например, изображениям или инлайновым таблицам).
Попробуйте
Первую букву элемента не всегда легко определить:
- Знаки препинания, предшествующие или непосредственно следующие за первой буквой, включаются в совпадение. Знаки препинания включают любой символ Юникода, определённый в классах открытие (Ps), закрытие (Pe), начальная кавычка (Pi), конечная кавычка (Pf) и другие знаки препинания (Po).
- Некоторые языки имеют диграфы, которые всегда пишутся заглавными буквами вместе, например,
IJв голландском языке. В таких случаях обе буквы диграфа должны быть сопоставлены псевдоэлементом::first-letter. - Сочетание псевдоэлемента
::beforeи свойстваcontentможет вставить некоторый текст в начале элемента. В этом случае::first-letterбудет соответствовать первой букве этого сгенерированного контента.
Примечание: CSS ввёл обозначение ::first-letter (с двумя двоеточиями) для различения псевдоклассов от псевдоэлементов. Для обратной совместимости браузеры также принимают :first-letter, введённый ранее.
Поддержка браузерами диграфов, таких как IJ в голландском языке, низкая. Проверьте таблицу совместимости ниже, чтобы увидеть текущее состояние поддержки.
Допустимые свойства
Только небольшой подмножество свойств 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(если применимо),line-height,text-decoration-color,text-decoration-line,text-decoration-style,box-shadow,float,vertical-align(только еслиfloatравноnone).
Синтаксис
::first-letter {
/* ... */
}
Примеры
Базовая «падающая» буква
В этом примере мы будем использовать псевдоэлемент ::first-letter для создания эффекта «падающей» буквы в начале абзаца, следующего за <h2>.
HTML
<h2>My heading</h2> <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>
CSS
p {
width: 500px;
line-height: 1.5;
}
h2 + p::first-letter {
color: white;
background-color: black;
border-radius: 2px;
box-shadow: 3px 3px 0 red;
font-size: 250%;
padding: 6px 3px;
margin-right: 6px;
float: left;
}
Результат
Эффект на знаки препинания и нелатинские символы
Этот пример демонстрирует влияние ::first-letter на знаки препинания и нелатинские символы.
HTML
<p> Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat. </p> <p>-The beginning of a special punctuation mark.</p> <p>_The beginning of a special punctuation mark.</p> <p>"The beginning of a special punctuation mark.</p> <p>'The beginning of a special punctuation mark.</p> <p>*The beginning of a special punctuation mark.</p> <p>#The beginning of a special punctuation mark.</p> <p>「特殊的汉字标点符号开头。</p> <p>《特殊的汉字标点符号开头。</p> <p>"特殊的汉字标点符号开头。</p>
CSS
p::first-letter {
color: red;
font-size: 150%;
}
Результат
Стиль первой буквы в элементе SVG text
В этом примере мы используем псевдоэлемент ::first-letter для стилизации первой буквы элемента SVG <text>.
Примечание: На момент написания этой функции ограниченная поддержка.
HTML
<svg viewBox="0 0 300 40"> <text y="30">First letter in <text> SVG</text> </svg>
CSS
text {
font-family: sans-serif;
}
text::first-letter {
font-family: serif;
font-size: 2rem;
font-weight: 600;
fill: tomato;
stroke: indigo;
}
Результат
Спецификации
Совместимость браузеров
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
::first-letter |
11 | 1212 | 11 | 73.5 | 11 | 1818 | 44 | 10.110.1 | 11 | 1.01.0 | 3737 |
dutch_ij_digraph |
Нет | Нет | 87 | Нет | Нет | Нет | 87 | Нет | Нет | Нет | Нет |
svg_text_element |
Нет | Нет | 124 | Нет | Нет | Нет | 124 | Нет | Нет | Нет | Нет |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter