CSS ::first-letter | TuHub
Общие сведения
Псевдоэлемент ::first-letter
не выберет первую букву у строчных элементов: то есть у тех элементов, у которых свойство display установлено в значение inline
. Он работает только с элементами у которых свойство display установлено в значения block
, inline-block
, table-cell
, table-caption
, или list-item
.
Если в элементе есть некоторое текстовое содержимое, добавленное в начало элемента с помощью псевдоэлемента :before и свойства content, то первая буква этого содержимого станет целевой буквой для псевдоэлемента ::first-letter
.
Например, если в цитате есть содержимое добавленное с помощью следующего правила:
blockquote:before {
content: "Цитата: ";
}
из селектора blockquote:before
выберется буква «Ц» от слова «Цитата:», даже если внутри самой цитаты есть другой текст.
Знаки пунктуации, которые предшествуют или следуют за первой буквой, будут включены в
.
Синтаксис псевдоэлемента
/* Старый синтаксис CSS2 */
p:first-letter {
/* Здесь содержимое и стили */
}
/* Новый синтаксис CSS3 */
p::first-letter {
/* Здесь содержимое и стили */
}
Свойства используемые :first-letter для стилизации
Псевдоэлемент :first-letter
может использовать для стилизации только определённые свойства:
- Свойства шрифтов: font, font-style, font-variant, font-weight, font-size, line-height, и font-family.
- text-decoration, text-transform, letter-spacing, word-spacing (при необходимости), float, vertical-align (только если у float значение
none
), и color. - Свойства внешних отступов: margin, margin-top, margin-right, margin-bottom, и margin-left.
- Свойства внутренних отступов: padding, padding-top, padding-right, padding-bottom, и padding-left.
- Свойства границ: border, border-width, border-style, border-color, и соответствующие им свойства.
- Свойства фона: background, background-color, background-image, background-position, background-repeat, background-size, и background-attachment.
Поддержка браузерами
::first-letter CSS pseudo-element selector
Примечание
Наследование и специфика
Если элемент к которому применяется псевдоэлемент :first-letter
является элементом списка (display: list-item
), то оно применяется к первой букве после маркера. Браузеры могут игнорировать :first-letter
применяемое на элементах списка со свойством list-style-position: inside
.
В некоторых языках могут присутствовать определённые правила касающиеся обработки определённых комбинаций букв. В голландском, например, если комбинация букв «ij» находится в начале слова, то псевдоэлемент :first-letter
будет рассматривать их как одну букву.
Псевдоэлемент ::first-line можно использовать для стилизации первой строки элемента. ::first-letter
будет наследовать стили применяемые с помощью
. Если используются оба псевдоэлемента ::first-line
и ::first-letter
, то стили указанные в ::first-letter
будут переопределять стили из ::first-line
.
Разница между нотациями: (:) и (::)
Скорее всего вы встретите (или уже встречали) нотацию :first-letter
, которая использует одно двоеточие вместо двух.
В CSS1 и CSS2 псевдоэлементы определялись с помощью одного двоеточия (:), также как и псевдоклассы (например :hover). В CSS3 для псевдоэлементов была добавлена нотация с двумя двоеточиями чтобы отличать их от псевдоклассов.
Все браузеры, которые поддерживают нотацию с двумя двоеточиями также поддерживают и нотацию с одним двоеточием. Однако, Internet Explorer 8 не поддерживает нотацию с двойным двоеточием. Поэтому если вам не нужна поддержка Internet Explorer 8, то можете использовать вариант с двумя двоеточиями и не беспокоится за поддержку браузерами.
Пример
Псевдоэлемент ::first-letter | CSS | WebReference
Псевдоэлемент ::first-letter определяет стиль первого символа в тексте элемента, к которому добавляется. К этому псевдоэлементу могут применяться только стилевые свойства, связанные со свойствами шрифта, полями, отступами, границами, цветом и фоном.
Синтаксис ?
Селектор::first-letter { ... }
Обозначения
Описание | Пример | |
---|---|---|
<тип> | Указывает тип значения. | <размер> |
A && B | Значения должны выводиться в указанном порядке. | <размер> && <цвет> |
A | B | Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps |
A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
[ ] | Группирует значения. | [ crop || cross ] |
* | Повторять ноль или больше раз. | [,<время>]* |
+ | Повторять один или больше раз. | <число>+ |
? | Указанный тип, слово или группа не является обязательным. | inset? |
{A, B} | Повторять не менее A, но не более B раз. | <радиус>{1,4} |
# | Повторять один или больше раз через запятую. | <время># |
Пример
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>first-letter</title>
<style>
p {
font-family: Arial, Helvetica, sans-serif; /* Гарнитура шрифта основного текста */
font-size: 0.9em; /* Размер шрифта */
}
p::first-letter {
font-family: "Times New Roman", Times, serif; /* Гарнитура шрифта первой буквы */
font-size: 2em; /* Размер шрифта первого символа */
color: red; /* Красный цвет текста */
}
</style>
</head>
<body>
<p>Луч фонарика высветил старые скрипучие ступени, по которым не далее
как пять минут назад в дом поднялся Паша. Оля осторожно приоткрыла дверь и
посветила внутрь дома. Луч света, словно нехотя, пробивался сквозь тугую
завесу из мрака и пыли. </p>
<p>Взгляд Оли опустился на пол, и она вскрикнула. В пустом помещении никого
не было, и лишь на полу валялась порванная туфля Паши.</p>
</body>
</html>
Результат примера показан на рис. 1. В данном примере изменяется шрифт, размер и цвет первой буквы каждого абзаца текста.
Рис. 1. Результат использования псевдоэлемента ::first-letter
Примечание
В CSS3 псевдоэлементы стали обозначаться двумя двоеточиями, чтобы синтаксис отличался от псевдоклассов. В CSS2 они обозначаются одним двоеточием. Браузеры, как правило, понимают оба синтаксиса.
Спецификация ?
Спецификация
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft (Черновик спецификации) — первая черновая версия стандарта.
Браузеры ?
:first-letter | 5.5 | 12 | 1 | 3.5 | 1 | 1 |
::first-letter | 9 | 12 | 1 | 7 | 1 | 1 |
:first-letter | 1 | 1 | 4 | 1 |
::first-letter | 1 | 1 | 7 | 1 |
Браузеры
В таблице браузеров применяются следующие обозначения.
- — свойство полностью поддерживается браузером со всеми допустимыми значениями;
- — свойство браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо свойство поддерживается лишь частично, например, не все допустимые значения действуют или свойство применяется не ко всем элементам, которые указаны в спецификации.
Число указывает версию браузера, начиная с которой свойство поддерживается.
×Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 30.08.2017
Редакторы: Влад Мержевич
Псевдоэлемент ::first-letter | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
9.0+ | 1.0+ | 7.0+ | 1.0+ | 1.5+ | 1.0+ | 1.0+ |
Краткая информация
Версии CSS
CSS 1 | CSS 2 | CSS 2.1 | CSS 3 |
---|---|---|---|
Описание
Псевдоэлемент ::first-letter определяет стиль первого символа в тексте элемента, к которому добавляется. К этому псевдоэлементу могут применяться только стилевые свойства, связанные со свойствами шрифта, полями, отступами, границами, цветом и фоном.
Синтаксис
элемент::first-letter { … }
Значения
Нет.Пример
HTML5CSS2.1CSS3IECrOpSaFx
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>first-letter</title> <style> p { font-family: Arial, Helvetica, sans-serif; /* Гарнитура шрифта основного текста */ font-size: 0.9em; /* Размер шрифта */ } p::first-letter { font-family: "Times New Roman", Times, serif; /* Гарнитура шрифта первой буквы */ font-size: 2em; /* Размер шрифта первого символа */ color: red; /* Красный цвет текста */ } </style> </head> <body> <p>Луч фонарика высветил старые скрипучие ступени, по которым не далее как пять минут назад в дом поднялся Паша. Оля осторожно приоткрыла дверь и посветила внутрь дома. Луч света, словно нехотя, пробивался сквозь тугую завесу из мрака и пыли. </p> <p>Взгляд Оли опустился на пол, и она вскрикнула. В пустом помещении никого не было, и лишь на полу валялась порванная туфля Паши.</p> </body> </html>
Результат примера показан на рис. 1. В данном примере изменяется шрифт, размер и цвет первой буквы каждого абзаца текста.
Рис. 1. Результат использования псевдоэлемента ::first-letter
Браузеры
Браузер Internet Explorer до версии 9.0 работает только с нотацией :first-letter, описанной в спецификации CSS 2.1.
seodon.ru | CSS справочник — :first-letter
Опубликовано: 18.08.2010 Последняя правка: 10.12.2015
Псевдоэлемент CSS :first-letter используется для применения стилей (CSS) к первому текстовому символу первой строки блочного элемента. Причем этот символ или вся строка вовсе не обязательно должны находиться на первом уровне вложенности элемента, они вполне могут быть заключены в дополнительные HTML-элементы. Но если перед символом имеется другой элемент (изображение, объект и т.д.) или первая строка пустая (например, в самом начале стоит тег <BR>), то :first-letter не сработает.
Кроме этого, в CSS первая буква ячеек таблиц или встроенного блока (display со значением inline-block) не может быть первой буквой элемента-предка. Поэтому следующий пример не будет работать, так как тег <DIV> здесь вообще не имеет первого символа.
<head>
<style type="text/css">
div:first-letter { color: red }
p { display: inline-block }
</style>
</head>
<body>
<div><p>Параграф.</p></div>
</body>
К псевдоэлементу :first-letter можно применять следующие свойства:
- Свойства шрифта, рамок, отступов и полей, фона, цвета текста.
- Свойства line-height, text-decoration, text-transform, letter-spacing, float, vertical-align (если float: none), word-spacing.
Если :first-letter используется вместе с псевдоэлементами :after или :before, то стили будут применены к первому символу с учетом автоматически добавленного содержимого.
Тип псевдоэлемента
Назначение: псевдоэлементы.
Применяется: к блочным элементам, которые сами или их элементы-потомки могут содержать текст.
Значения
Нет.
Синтаксис
селектор:first-letter { }
Пример CSS: использование :first-letter
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>seodon.ru - CSS псевдоэлемент first-letter</title>
<style type="text/css">
p:first-letter {
font: bold italic 200% monospace; /* стили шрифта первого символа параграфа */
letter-spacing: 3px; /* межбуквенное расстояние */
}
</style>
</head>
<body>
<p>В этом примере мы изменили стили первой буквы параграфа.</p>
</body>
</html>
Результат примера
Результат. Использование псевдоэлемента CSS :first-letter.
Версии CSS
Версия: | CSS 1 | CSS 2 | CSS 2.1 | CSS 3 |
Поддержка: | Да | Да | Да | Да |
Браузеры
Браузер: | Internet Explorer | Google Chrome | Mozilla Firefox | Opera | Safari | ||
Версия: | 6.0 и 7.0 | 8.0 и выше | 2.0 и выше | 2.0 | 3.0 и выше | 9.2 и выше | 3.1 и выше |
Поддержка: | Частично | Да | Да | Частично | Да | Да | Да |
IE 6.0 и 7.0, а также FF 2.0 не применяют к :first-letter свойство letter-spacing.